selenium - 运行 Selenium Test 时覆盖窗口显示在屏幕外

标签 selenium jenkins overlay

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

奇怪的是,当测试在 Visual Studio 2010 中通过 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 中失败。初始化适当的窗口大小以进行测试

关于selenium - 运行 Selenium Test 时覆盖窗口显示在屏幕外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11656919/

相关文章:

windows - Jenkins 没有完成 'execute windows command' 步骤

jenkins - 我可以在 Jenkins 管道脚本中创建新作业吗

jenkins - 在 Cake 构建期间,名称 'Npm' 在当前上下文中不存在

docker - 有什么方法可以更改kubelet pods覆盖的默认文件夹吗?

android - 我有一个巨大的图形文件,想为 Google map 创建一个叠加层,我必须创建图 block 吗?

python - 如何在 Python 中使用 Selenium 获取 h1 标签

selenium - IRetryAnalyzer 为定义为 SoftAssert 的测试用例生成不正确的结果

html - CSS全屏背景rgba叠加

java - 尝试单击包含空格的超链接

Python Selenium 多处理