C#OpenQA和OperaDriver()问题。没有Opera在selenium OpenQA v2.5

时间:2011-09-09 07:08:27

标签: c# selenium-webdriver

我正在尝试将OperaDriver用于selenium。

IWebDriver wd = new OperaDriver();

但使用OpenQA.Selenium.Opera;不存在。我在C#dll中找不到它。我正在使用v2.5驱动程序。 Chroom,即Firefox,但没有Opera。我在哪里可以得到它?

2 个答案:

答案 0 :(得分:6)

.NET绑定中没有本机OperaDriver。 Opera决定用Java实现他们的驱动程序,而不是实现RemoteWebDriver JSON有线协议。因此,从.NET使用Opera驱动程序的唯一方法是使用.NET RemoteWebDriver类,以及项目downloads page上提供的独立Java Selenium服务器的实例。

答案 1 :(得分:1)

假设你在Windows上:

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

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

您需要将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。

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