屏幕分辨率会破坏硒测试吗?

时间:2015-08-07 16:30:53

标签: selenium selenium-webdriver

我使用1920x1080(16:9)的屏幕分辨率编写了我的脚本,现在我在jenkins奴隶上运行,我注意到它有1024x768(4:3)并且测试失败了。这是因为屏幕分辨率打破了DOM吗?我认为这是因为失败是由未找到的元素引起的(不太确定是否正确的单词),但我认为即使布局不是响应元素也应该找到?任何人都知道这是什么原因以及如何绕过它?

4 个答案:

答案 0 :(得分:1)

我确实遇到了同样的问题,我通过将尺寸设置为我想要的分辨率来解决它:

driver.manage().window().setSize(new Dimension(1920, 1080));

它对我来说很完美。

答案 1 :(得分:1)

运行>> services.msc>>停止要更改分辨率的系统服务(Jenkins.exe)>>右键单击>>属性>>登录TAB>>本地系统帐户>>选中允许服务与桌面交互>>然后它将采用您当前使用的显示器的分辨率。

确保你输入browser.driver.manage()。window()。maximize();在你的onPrepare上:protractor.conf.js的metod

答案 2 :(得分:0)

如果通过DOM中的定位器找到按钮,则量角器通常会滚动以单击按钮。  有一些边缘情况,它不能但如果你的页面可以自己压缩它,你应该没有问题。您可以设置量角器的分辨率,以便在here中找到测试之前设置窗口大小。

答案 3 :(得分:0)

屏幕分辨率不会影响DOM。然而,众所周知的问题是Selenium测试和运行不同分辨率的测试 - 元素可能需要在可以与之交互之前滚动到视图中。根据您使用的特定驱动程序(例如chromedriver),您需要确保元素在与其交互之前可见。

如果您需要更详细的帮助,屏幕截图,浏览器名称,您的代码和堆栈跟踪可能会有所帮助。