首页 > 解决方案 > 将硒与 C 一起使用

问题描述

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

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

标签: cseleniumselenium-webdriverwebdriver

解决方案


来自Selenium官方页面

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

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


解决方案

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


网络驱动程序++

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

  • 可链接的命令
  • 与 STL 容器兼容的类值对象
  • 仅标头
  • 轻量级依赖:
  • 库库尔
  • picojson
  • 可与任何测试框架一起使用
  • 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;    
}

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

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


推荐阅读