操作profile对象和Selenium RC (c#)

本文关键字:RC Selenium profile 对象 操作 | 更新日期: 2023-09-27 18:17:40

我尝试在opera中使用selenium-server-standalone- 2.30.3 .jar,并且需要更改一些配置文件首选项。可以在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'找不到

操作profile对象和Selenium RC (c#)

假设您使用的是Windows:

操作驱动程序是用Java编写的,c#不直接支持,因为它不是由Selenium项目团队维护的,而是由Opera维护的。

要使用它,您必须在开始测试之前运行独立的Selenium web服务器(从windows上的控制台)。点击这里查看

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

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

我使用一个小bat来完成这两个任务:

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。

==>避免在所有路径中使用空格<==