0

我正在尝试将 selenium-server-standalone-2.33.0.jar 与opera 一起使用,并且需要更改一些配置文件首选项。可以在 C# 项目中创建 OperaProfile 对象并像这样使用它:

OperaProfile profile = new OperaProfile(); // Error: Type or namespace 'OperaProfile' could not be found
profile.preferences().set("User Prefs", "Ignore Unrequested Popups", false);
DesiredCapabilities capabilities = DesiredCapabilities.Opera();
capabilities.SetCapability("opera.profile", profile);
IWebDriver driver = new RemoteWebDriver(new Uri("http://host:4444/wd/hub"), capabilities);

在这种情况下,我收到错误消息

找不到类型或命名空间“OperaProfile”

4

1 回答 1

0

假设您在 Windows 上:

Operadriver 是用 Java 编写的,不直接用 C# 支持,因为它不是由 Selenium 项目团队维护,而是由 Opera 维护。

要使用它,您必须在开始测试之前运行独立的 Selenium 网络服务器(从 Windows 上的控制台)。在这里得到它

您需要将 OPERA_PATH 设置为指向您的opera.exe 文件。使用以下命令启动服务器:

java -jar selenium-server-standalone-2.33.0.jar 

我用一个小蝙蝠来完成这两个任务:

SET OPERA_PATH="C:\Progra~2\Opera\opera.exe"
cd C:\pathToSeleniumJarFile
C:\Progra~2\Java\jre7\bin\java.exe -jar selenium-server-standalone-2.33.0.jar

C#:在 C# 代码中使用 remotewebdriver 对象进行测试以连接到它。

        switch (WebBrowser)
        {
            case Browser.Chrome:
                // chromedriver.exe has to be in the debug folder
                ChromeOptions chrome = new ChromeOptions();
                chrome.AddArguments("--ignore-certificate-errors");
                webDriver = new ChromeDriver(chrome);
                break;

            ...

            case Browser.Opera:
                //note: set OPERA_PATH environment variable (in cmd or global)
                DesiredCapabilities opera = DesiredCapabilities.Opera();
                opera.SetCapability("opera.profile", @"C:\OperaProfile");
                webDriver = new RemoteWebDriver(opera);
                break;

            default:
                throw new NotImplementedException();

如果您想操作 Opera 客户端的配置文件(例如接受不受信任的证书等),您需要设置

opera.SetCapability("opera.profile", @"C:\OperaProfile");

将现有配置文件复制到您选择的位置,此处为 C:\OperaProfile。

==> 避免所有路径中的空格 <==

于 2013-06-28T13:00:50.170 回答