我在singleWindow模式和IE8中运行Selenium。
如果我手动启动IE8,则将设置IE8模式,但是当我使用Selenium启动它时,使用兼容模式将模式设置为IE7。
有谁知道为什么使用Selenium启动浏览器时兼容模式不是IE8视图?
或者,如何才能完全禁用IE中的兼容模式并强制其始终使用IE8视图?
我给问题+1是因为这是一个非常好的问题-如何做到这一点并不明显,如果您需要测试两种模式,那么这是必须要做的事情。
<meta http-equiv="X-UA-Compatible" content="IE=7" />运行测试时,您可以让该网站在页面中提供服务。这将强制输出模式。
<meta http-equiv="X-UA-Compatible" content="IE=7" />
显然,这并不理想,因为这意味着更改您的代码以按需生成meta标签。如果您不得不更改主代码库以添加用于测试套件的特定用途的代码,通常我会认为这是一件坏事,但是在这种情况下,我看不到任何其他解决方案。
鉴于我们已经决定沿着这条道路走,您可以编写代码以接受触发meta标签投放的URL中的指定参数。然后可以编写IE7测试以发送该URL参数。
顺便说一句,值得指出的是IE8的IE7兼容模式与IE7并非100%相同。它具有自己的怪癖和错误,与真正的IE7浏览器不同。在大多数情况下,它应该很好,但是如果您希望测试能够确认该站点可以在IE7中运行,则应该意识到这一点。有关更多信息,请参见此博客文章。