【问题标题】:Selenium tests running in a small windowSelenium 测试在小窗口中运行
【发布时间】:2016-10-24 15:14:12
【问题描述】:

我使用 Team City 和相应的构建代理在构建管道中触发了我的 E2E 测试。构建代理作为服务安装,但在允许它访问整个开发网络的网络资源的帐户下运行。因此,它可以很好地与桌面交互并启动 Chrome/FireFox 等。

我的问题是,测试运行的分辨率有点小。像 1024 或更少。我通过测试失败生成的屏幕截图来衡量这一点。有没有办法改变这个?它会导致很多超时和错误,因为某些元素不会出现在窗口中,但在桌面上看起来很好,因为整个页面都是在不需要滚动的情况下呈现的。否则,我必须做 JS 来上下滚动窗口才能到达我的元素。

【问题讨论】:

    标签: selenium selenium-webdriver teamcity


    【解决方案1】:

    你可以最大化窗口:

    driver.Manage().Window.Maximize();

    或使用 JS 设置大小:

    ((IJavascriptExecutor)driver).executeScript("window.resizeTo(1024, 768);");
    

    【讨论】:

    • 谢谢,但已经这样做了。就像实际的用户会话本身比平时要小。
    • @rg702 - 你得到这个问题的解决方案了吗?我们在团队城市服务器中也面临着类似的问题。
    • @tyaga001 看看我的另一个答案。我想这可能不是 Selenium 问题,而是运行测试的服务器的配置。使用提供的命令,您将能够验证它。
    • @rg702 谢谢,我们知道了,这只是服务器屏幕分辨率的问题。 &我尝试使用无头镀铬,但使用无头镀铬我得到没有此类元素异常&当我看到屏幕截图时,它是一个空白页面。这里有任何帮助,因为我们无法更改服务器屏幕分辨率,所以我们想试试 headless chrome。
    • 我没有使用无头的经验。尝试找到类似的问题或提出自己的问题,但作为一个单独的主题,我认为不在这里。祝你好运!
    【解决方案2】:

    您可以使用 PowerShell 命令来检索实际的屏幕分辨率:

    Get-WmiObject -Class Win32_DesktopMonitor | Select-Object ScreenWidth,ScreenHeight
    

    答案来自Here

    如果分辨率低于预期,说明不是Selenium问题,只是宿主机问题,需要进一步排查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2019-12-17
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      相关资源
      最近更新 更多