将硒与 C 一起使用

tab*_*ec1 8 c selenium webdriver selenium-webdriver

我找不到有关是否可以将 selenium 与 C 一起使用的任何信息。只是 C,而不是 C#。有谁知道这是否可能?

我尝试在 Google 上搜索,但所有出现的结果都包含“C#”而不是“C”。

Deb*_*anB 4

来自Selenium官方页面

  • 特定于语言的核心客户端驱动程序是:
  • 红宝石
  • JavaScript
  • 爪哇
  • Python
  • C#

然而,根据Selenium 官方主页,其他语言的语言绑定确实存在,但这些项目不受 Selenium 项目的支持、维护、托管或认可,如下所示:


解决方案

您始终可以使用任何核心语言(例如 Java/Python/C#)编写基于 WebDriver 的测试,并从C / C++应用程序调用脚本。


网络驱动++

Webdriver++是 Selenium Webdriver 的 C++ 客户端库,您必须安装它并具有以下功能支持:

  • 可链接的命令
  • 与 STL 容器兼容的类值对象
  • 仅标头
  • 轻量级依赖:
  • 库卷曲
  • 皮科森
  • 可与任何测试框架一起使用
  • Linux、Mac 和 Windows
  • clang (3.4)、GCC (4.6) 和 Visual Studio (2010)

一个例子:

#include <webdriverxx/webdriverxx.h>
using namespace webdriverxx;

int main() {
    WebDriver firefox = Start(Firefox());
    firefox
    .Navigate("http://google.com")
    .FindElement(ByCss("input[name=q]"))
    .SendKeys("Hello, world!")
    .Submit();
    return 0;    
}
Run Code Online (Sandbox Code Playgroud)

@JimEvans 在他的评论中明确提到:

如果您真的不关心自己是否在“真正的”浏览器中运行,那么直接使用 QtWebKit 可能是一个不错的选择。但请注意,这并不是一项微不足道的任务。据我所知,WebDriver 没有任何 C++ 语言绑定,但只要你有一个 JSON 解析库(json-cpp 相当不错)和一个 HTTP 客户端库,你就可以编写自己的语言绑定订单很短。

  • TLDR:有 11 种可用语言的绑定,但没有 C 语言的绑定。 (5认同)