我正在为Facebook应用程序编写一些selenium webdriver测试。我在Selenium网格中运行测试,我在Opera(12.15)中运行时遇到了问题。当在Facebook(或直接)上启动Web应用程序时,Opera会显示一个页面:
公共互联网上的页面请求来自您的私人内部网的数据。出于安全原因,自动访问被阻止,但您可以选择继续。
我可以选择继续,或者一直继续而不再被问到。我在手动使用浏览器时工作正常。但Selenium每次都会启动一个新的浏览器实例,因此每次都需要再次选择首选项。
有没有办法在测试运行时抑制此警告?命令行选项?一个DesiredCapability?
这似乎是其他人会遇到的问题,但我在网上找不到多少内容。
答案 0 :(得分:2)
opera:config
显示“允许跨网络导航”选项,这是您想要的。它的固定链接似乎链接到opera:config#Network|AllowCrossNetworkNavigation
,因此我们希望部分Network
中的首选项,键AllowCrossNetworkNavigation
并且因为它显示为布尔首选项,它将采用值0
和1
。
下一个问题是以编程方式设置它:OperaDriver有一个public OperaScopePreferences preferences()
让你这样做(参见OperaScopePreferences JavaDoc)。
简而言之:
OperaDriver drv;
OperaScopePreferences prefs = drv.preferences();
prefs.set("Network", "AllowCrossNetworkNavigation", "1");
答案 1 :(得分:0)
这在Opera 33.0中不起作用。 opera:config已替换为opera:// flags
搜索了一个小时后,我开始相信这个设置不再存在 在设置中的任何形式: 歌剧:配置#网络| AllowCrossNetworkNavigation
我能找到的最接近的是: 允许不安全,本地主机 但是这不允许我们在本地主机上运行的项目允许跨网络导航。
也对“跨网络保护”进行了一些搜索,没有运气。
我认为2015年的正确解决方案是使用firefox或chrome。