Internet Explorer 8 64 位和 Selenium 不工作
Posted
技术标签:
【中文标题】Internet Explorer 8 64 位和 Selenium 不工作【英文标题】:Internet Explorer 8 64bit and Selenium Not working 【发布时间】:2010-12-03 19:24:45 【问题描述】:我正在尝试运行硒测试。然而,每次我尝试运行应该运行 IE 的测试时,我都会在 htmlutils.js 的第 863 行收到一个错误,它说我应该禁用我的弹出窗口阻止程序。问题是我去了IE工具->打开弹出块。
所以它被禁用了,我得到了这个错误。
还有什么我需要禁用的。由于我使用的是 Windows 7 Pro 64 位版本,我实际上什至不知道它运行的是哪个版本的 Internet Explorer。因此,当我使用 IE 时,我使用的是 64 位版本,但如果网站或类似网站不支持 64 位,我会理解为 32 位。
所以我不确定我需要做什么才能让它工作。
这是它所在的行
function openSeparateApplicationWindow(url, suppressMozillaWarning)
// resize the Selenium window itself
window.resizeTo(1200, 500);
window.moveTo(window.screenX, 0);
var appWindow = window.open(url + '?start=true', 'selenium_main_app_window');
if (appWindow == null)
var errorMessage = "Couldn't open app window; is the pop-up blocker enabled?"
LOG.error(errorMessage);
throw new Error("Couldn't open app window; is the pop-up blocker enabled?");
这个 log.error 消息存储在哪里?也许我也可以发布。
【问题讨论】:
在 Selenium 支持论坛上提出这个问题可能会得到更好的结果。 您可以使用 -log 标志启动 selenium 服务器,这将为您提供更详细的问题输出:seleniumhq.org/docs/05_selenium_rc.html#selenium-server-logging 【参考方案1】:我在 Windows 7 64bit 上遇到了这个问题。
我的解决方案是:
禁用弹出块。 - 选择“工具/弹窗拦截器/关闭弹窗拦截器”
禁用 IE 保护模式。 - 取消勾选“工具/Internet 选项/安全/启用保护模式”
最好只禁用已知受信任主机/地址的保护模式。我将把它作为练习留给读者。
【讨论】:
这对我来说非常有效,似乎比以管理员身份运行或转向使用代理更好的解决方案。 哈,刚刚又找到了这个答案。仍然有效,而且似乎仍然是最好的解决方案。 这对我不起作用。我将本地主机添加到受信任的站点并禁用弹出窗口阻止和 IE 保护模式。由于无法打开应用程序窗口,它仍然失败?我还需要做什么?它对管理员来说工作正常,但我们不能像那样运行它,因为我们是通过构建服务器中的 selunit 运行它。 这是为我做的,Windows7,IE8 64 位。弹出窗口阻止程序已经关闭,“启用保护模式”复选框很重要。 根本不为我工作。 Win7,IE8,32位。我在公司网络中。【参考方案2】:我遇到了同样的问题,并找到了另一个适合我的解决方案。只需在 browserString 中使用 *iexploreproxy 设置即可。
我用过:
selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy C:/Program Files/Internet Explorer/iexplorer.exe", "http://www.bbc.co.uk/");
我希望这也适用于其他人:)
【讨论】:
【参考方案3】:我在 Vista 和 IE8 上遇到了类似的问题 我会收到同样的错误信息
Couldn't open app window; is the pop-up blocker enabled?"
以管理员身份运行我的遥控器不是我的选择,从安全角度来看也是一个糟糕的主意。 所以最后我设法通过将浏览器从“*ietha”更改为“*iexploreproxy”来解决这个问题 grid_configuration.yml
hub:
port: 4444
...
- name: "Internet Explorer 8 on Vista"
browser: "*iexploreproxy"
...
或者,您可以从代码中更改浏览器字符串:
ISelenium selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy", "http://www.google.com/");
像魅力一样工作。 剩下的唯一问题是这是否会以某种方式影响测试用例的结果。到目前为止没有,但如果发生这种情况,我会更新这个答案。
【讨论】:
这对我不起作用。使用 iexploreproxy,它会在启动后尝试打开以下 URL:http://localhost:8003/selenium-server/core/RemoteRunner.html?sessionId=f44546a9dc584b69a1d20d539a8a037c&multiWindow=true&baseUrl=http%3A%2F%2Flocalhost%3A8003%2Findex-test.php%2F&debugMode=false
这是无效的,因为没有定义“selenium-server”url...任何想法?【参考方案4】:
您可以在禁用 Internet 的安全模式时开始测试。不知道它的正确名称,但在荷兰语中它是 beveiligde modus。 我尝试修改安全设置以复制此安全模式,但找不到正确的设置。因此,它必须阻止更多,然后您才能手动设置。
【讨论】:
【参考方案5】:如果您碰巧从 javascriptMVC 执行此操作,则需要在 \jmvc\plugins\test\drivers\selenium.js 中更改参考:
1) 将 iexplore 更改为 iexploreproxy 应该会得到更好的结果:
msie : (/iexploreproxy/i).test(browserStartCommand),
2) 此时,您会发现仍然会弹出错误,但是已经启动了一个单独的 IE 实例。 让 IE 窗口保持打开状态并重新启动测试,但不重新启动 Selenium。
3) 接下来,窗口应该显示在正确的位置,但 IE 会发出烦人的阻止活动内容警告。允许内容运行并重新启动测试,但不允许 Selenium 本身。
这非常笨拙,但至少可以让您通过那部分。如果我找到更有条理的方法来做这些事情,我会根据需要进行更新。
【讨论】:
【参考方案6】:我在 Windows 7 64bit IE8 上遇到了同样的问题。第一步是禁用 IE 弹出窗口阻止程序。然后,我在状态栏中收到一条消息,说“此页面上的弹出窗口被阻止。按'Ctrl'键允许弹出窗口”。
事实证明,Google 工具栏提供了此功能。禁用它解决了这个问题。视图 > 工具栏 > 谷歌切换。
约翰。
【讨论】:
【参考方案7】:我遇到了同样的问题。我以管理员身份运行 Selenium RC 服务器,一切正常。
【讨论】:
以管理员身份运行 Selenium RC 也为我解决了这个问题。 如何以管理员身份运行它?我正在使用java -jar selenium-server.jar
。我是管理员,所以我猜 selenium 也在我的帐户下运行。还是我应该以其他方式运行它?【参考方案8】:
我也在 Windows 7 64 位机器上遇到了这个问题,尝试在其上运行 Selenium 以测试用 C# 编写的 ASP .Net MVC 应用程序。
我仍在尝试为自己找出答案,但我想我会在这里发帖告诉你我在让 something 工作方面取得的一些进展,尽管是在 Firefox 中IE。
这是我更改的行:
selenium = new DefaultSelenium("localhost", 4444, "*chrome C:/Program Files (x86)/Mozilla Firefox/firefox.exe", "http://www.bbc.co.uk/");
理想情况下,我希望它能够在 Internet Explorer 8 中运行,但如果目前我可以开始进行测试,然后再转而使用 IE,那就太好了。
希望这对您的所有问题有所帮助。
【讨论】:
嗯,我在 Firefox 或任何其他受支持的浏览器(opera、safari、chrome)中运行 selenium 没有问题。只是 IE 8 无法运行。 我发现我还无法尝试的一个建议。是以管理员模式运行服务器。尝试一下可能会起作用以上是关于Internet Explorer 8 64 位和 Selenium 不工作的主要内容,如果未能解决你的问题,请参考以下文章
为啥即使在模拟 Internet Explorer 8 文档模式时,Internet Explorer 11 也不支持条件注释?
使用 Internet Explorer 10 及更低版本保存 Base64 编码的 PDF