我正在使用C#,Selenium(3.141.0)和MSTest.TestFramework来测试一个相当复杂的网站项目。我的目标很简单-在适用于该网站(在全球范围内使用)的各种浏览器中测试该网站。
从Selenium驱动Chrome,Firefox和IE,并将驱动程序转换为iWebDriver都没问题。但是我还想测试和支持Opera-在美国并不普遍,但在其他地方却很普遍。
我看到的文章表明Opera是受支持的,但我无法使其正常工作。
核心是-但失败了: iWebDriver驱动程序=新的OperaDriver(); 我认为我缺少一些参数,例如Opera驱动程序的路径(operadriver.exe-从https://github.com/operasoftware/operachromiumdriver/releases下载)或OperaOptions。
我将不胜感激任何示例代码指南。在线上有很多关于该主题的文章-但我尚未找到任何有效的代码。
自从几天前发布此消息以来,我尝试了一些事情并终于使它起作用,并且由于我还没有看到任何其他解决方案,所以我正在分享....
它正在工作,但是不完美。
步骤1-我从以下位置下载了相应的operadriver.exe二进制文件:https://github.com/operasoftware/operachromiumdriver/releases
我将operadriver.exe移到了“ C:\ Opera \”。
在我的代码中,我已经设置了一个名为driver的iWebDriver对象。
Opera已安装在我的系统上的默认位置-如下所示。
这是起作用的代码...
using OpenQA.Selenium;
using OpenQA.Selenium.Opera;
using OpenQA.Selenium.Support.UI;
OperaDriverService service =
OperaDriverService.CreateDefaultService(@"C:\Opera\","operadriver.exe");
var operaOptions = new OperaOptions
{
BinaryLocation =
@"C:\Users\username\AppData\Local\Programs\Opera\58.0.3135.127\opera.exe",
LeaveBrowserRunning = false
};
driver = new OperaDriver(service, operaOptions);
到目前为止,我知道的不完善之处是显示了“管理扩展”弹出窗口-到目前为止,我一直无法抑制它-并且不想抑制所有弹出窗口,因为该站点确实在其中生成了一些警报/弹出窗口某些可测试的情况。
我每个人都有抑制该弹出窗口的想法,感谢您的分享。