2

我正在为 Facebook 应用程序编写一些 selenium webdriver 测试。我在 Selenium Grid 中运行测试,在 Opera (12.15) 中运行时遇到问题。当 Web 应用在 Facebook(或直接)中启动时,Opera 会显示一个页面:

公共 Internet 上的页面从您的私有 Intranet 请求数据。出于安全原因,自动访问被阻止,但您可以选择继续。

然后我可以选择继续,或者在不被再次询问的情况下始终继续。当我手动使用浏览器时,这很好用。但是 Selenium 每次都会启动一个新的浏览器实例,所以每次都需要重新选择首选项。

有没有办法在测试运行时抑制这个警告?命令行选项?期望的能力?

这似乎是其他人会遇到的问题,但我在网上找不到太多(如果有的话)。

4

2 回答 2

2

opera:config显示选项“允许跨网络导航”,这是您想要的。它的永久链接似乎链接到opera:config#Network|AllowCrossNetworkNavigation,因此我们想要 section Network、 key中的首选项AllowCrossNetworkNavigation,因为它显示为布尔首选项,它将采用值01

下一个问题是以编程方式设置它:OperaDriverpublic OperaScopePreferences preferences()允许您执行此操作(请参阅OperaScopePreferences JavaDoc)。

所以,简而言之:

OperaDriver drv;
OperaScopePreferences prefs = drv.preferences();
prefs.set("Network", "AllowCrossNetworkNavigation", "1");
于 2013-05-12T08:15:01.310 回答
0

这在 Opera 33.0 中不起作用。Opera:config 已被替换为 Opera://flags

搜索一个小时后,我开始相信此设置不再以任何形式存在于设置中:opera:config#Network|AllowCrossNetworkNavigation

我能找到的最接近的是:allow-insecure-localhost 但这不允许我们在本地主机上运行的项目允许跨网络导航。

也没有运气对“跨网络保护”进行了一些搜索。

我想说 2015 年的正确解决方案是使用 firefox 或 chrome。

于 2015-11-02T17:57:42.400 回答