我正在尝试将OperaDriver用于selenium。
IWebDriver wd = new OperaDriver();
但使用OpenQA.Selenium.Opera;不存在。我在C#dll中找不到它。我正在使用v2.5驱动程序。 Chroom,即Firefox,但没有Opera。我在哪里可以得到它?
答案 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。
==>避免在所有路径中使用空格< ==