Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行Selenium测试时,覆盖窗口在屏幕外显示_Selenium_Jenkins_Overlay - Fatal编程技术网

运行Selenium测试时,覆盖窗口在屏幕外显示

运行Selenium测试时,覆盖窗口在屏幕外显示,selenium,jenkins,overlay,Selenium,Jenkins,Overlay,当运行一组作用于覆盖窗口的特定Selenium测试时,我遇到了一个问题。问题在于,当显示叠加窗口时,它不包含在Firefox浏览器窗口中(叠加窗口的左侧被切断) 奇怪的是,当在VisualStudio2010中通过ReSharper使用MbUnit在本地运行测试时,测试通过得很好,并且覆盖层从不在浏览器窗口中显示截止值(在测试运行期间,浏览器窗口没有最大化)。然而,当通过Jenkins作业使用MbUnit运行测试时,覆盖的左侧被Firefox浏览器窗口的左侧切断(我尝试附加一个屏幕截图,但由于我

当运行一组作用于覆盖窗口的特定Selenium测试时,我遇到了一个问题。问题在于,当显示叠加窗口时,它不包含在Firefox浏览器窗口中(叠加窗口的左侧被切断)

奇怪的是,当在VisualStudio2010中通过ReSharper使用MbUnit在本地运行测试时,测试通过得很好,并且覆盖层从不在浏览器窗口中显示截止值(在测试运行期间,浏览器窗口没有最大化)。然而,当通过Jenkins作业使用MbUnit运行测试时,覆盖的左侧被Firefox浏览器窗口的左侧切断(我尝试附加一个屏幕截图,但由于我是这里的新用户,所以我被阻止这样做)

这是一个问题的原因,因为有一个上传按钮需要点击,现在无法访问,因为它是屏幕外。以下是测试失败时的错误:

System.InvalidOperationException: Element cannot be scrolled into view:[object HTMLDivElement]
Command duration or timeout: 56 milliseconds
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 17:28:14'
System info: os.name: 'Windows Server 2008 R2', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_33'
Driver info: driver.version: RemoteWebDriver
两个问题: 1) 有人知道为什么通过Jenkins运行测试会导致覆盖显示在屏幕外吗? 2) 有人知道我如何在测试运行时强制覆盖显示在浏览器窗口中吗

谢谢你,
. 亚当。

我面临着完全相同的问题。 解决方案: 设置固定浏览器窗口大小以修复Jenkins中的此问题


如果使用driver.manage().window().maximize()初始化浏览器窗口大小,则某些Jenkins服务器的最大浏览器窗口大小可能比本地计算机中的浏览器窗口大小小得多。在这种情况下,本地计算机浏览器中显示的某些元素(例如按钮)无法在Jenkins服务器的浏览器中显示。这将使本地传递的脚本在Jenkins中失败。为测试初始化适当的窗口大小

我在Jenkins上遇到了同样的问题。我注意到命令browser.driver.manage.window.maximize仅根据可用屏幕大小最大化窗口。我相信詹金斯的默认屏幕尺寸非常小。因此,为了解决这个问题,我们必须手动指定屏幕大小。您可以通过在代码中添加以下内容来解决此问题

browser.driver.manage.window.resize_to(1920, 1080)
    maximizeDim = browser.driver.manage.window.size
    puts "screenHeight after maximizing: #{+maximizeDim.height}"
    puts "screenWidth after maximizing: #{+maximizeDim.width}"

您是否找到了此问题的解决方案并愿意与大家分享?或者下面的答案对你有用吗?