gpt4 book ai didi

selenium - Webdriver 从 bamboo agent 得到错误的解决方案

转载 作者:行者123 更新时间:2023-12-02 01:25:08 25 4
gpt4 key购买 nike

我用 selenium + .NET 开发了一个框架

我正在使用 Bambo 代理运行所有测试。一切正常,除了一件事。如您所知,chromedrive 不能将窗口大小设置为大于实际机器屏幕分辨率。

我的 bamboo 机器设置了 1920x1080 分辨率。为了确保它适用于真正的 1920x1080,我编写了一个 powershell 脚本,该脚本在 agent berofe 测试上执行并打印出分辨率。顺便说一句,我有 Windows 的 bamboo 代理

但是当 webdriver 启动浏览器(chrome、firefox 或 IE)时,它会将浏览器窗口大小限制为 1044x788。 看起来 webdriver 从 bamboo agent 得到的分辨率有误。

如您所知,webdriver 不允许设置比实际机器更大的窗口。这就是为什么我们将浏览器大小限制为 1044x788

没有办法改变窗口的大小以获得更大的窗口。诸如:Manage().Window.Maximize()Manage().Window.Size = new Size (1920x1080) 或使用 webdriver 为 chrome 添加一些选项启动 chrome如:chromeOptions.AddArgument("--window-size=1920,1080"); 它始终限制为 1044x788。

有没有人遇到过类似的问题?我能以某种方式“破解”webdriver 以使用 1920x1080 打开浏览器吗? Meaby 有人知道 webdriver 如何检查屏幕分辨率吗?如果他正在寻找某些 Windows 文件中的分辨率,那么我可以在那里注入(inject) 1920x1080 分辨率吗?

或者我错过了 bamboo agent 中的一些设置?

为什么这很重要?因为同时我遇到了在这个较小的浏览器上一些网络元素有时会重叠的问题(在屏幕截图上弄清楚)并且它会导致某些测试失败。

当我在笔记本电脑上运行测试时,它始终具有 1920x1080 分辨率。

附言我知道 Selenium Grid,但我的方法对我来说非常有用,直到现在 :)

之前,我写了另一个 powershell 脚本,并在 bamboo 机器上创建了一个屏幕截图,屏幕截图的分辨率为 1024x768。所以我不知道它是由机器以某种方式引起的..

最佳答案

我知道答案。 Bamboo 将所有任务作为 Windows 服务(而非用户)运行。这就是为什么我无法看到浏览器并且屏幕分辨率错误的原因。有两种解决方案:

  1. 在您的用户那台机器上设置 selenium grid hub 和节点,并将 hub 的 url 粘贴到您的框架中。然后 bamboo 服务将触发由您的“用户”设置的 selenium 网格集线器,您将能够在登录虚拟机时看到浏览器并且它具有正常分辨率(我选择了此解决方案)

  2. 我认为可以有另一种解决方案来设置 bamboo 以用户身份而非 Windows 服务运行任务(不确定是否可行)。

关于selenium - Webdriver 从 bamboo agent 得到错误的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com