【问题标题】:chrome doesn't maximize when running selenium testNG from jenkins从 jenkins 运行 selenium testNG 时,chrome 不会最大化
【发布时间】:2018-06-09 09:38:49
【问题描述】:

我遇到了跑步问题

硒测试NG

来自 jenkins 的测试,问题是我正在登录我的应用程序并检查一些元素的可见性,当我直接从批处理文件运行测试时,我获得了成功,因为我正在将我的 google chrome 驱动程序设置为最大化使用:

driver.manage().window().maximize();

但是如果浏览器被最小化,一些元素是不可见的(前端要求),所以当我从jenkins 运行测试时测试失败,因为我认为浏览器没有最大化,

如果我错了,有人可以纠正我,以及如何在从 jenkins 运行时最大化浏览器的一些帮助吗?

【问题讨论】:

  • 最大化应该对定位元素没有影响
  • @CoreyGoldberg 我正在通过 id 定位元素,例如:(如果按钮由于最小化而没有显示在浏览器上,可以说它不起作用)我的问题是硒与坐标一起使用(x,y) ?

标签: java selenium selenium-chromedriver


【解决方案1】:

当您将 Selenium Suite 从 jenkins 运行到特定服务器时,driver.manage().window().maximize() 有时会不起作用。这就是为什么首选方法是根据您使用的浏览器选择 usinn 选项。

例如:- 对于 MAC 或 Linux:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--kiosk");
driver = new ChromeDriver(chromeOptions);

对于 Windows:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);

你可以试试这个,它可以用 jenkins 工作

【讨论】:

    【解决方案2】:

    根据manage().window().maximize() method not maximize a correct window 使用driver.manage().window().maximize(); 最大化Chrome Browser 不是最佳方式。而是使用 ChromeOptions 来最大化 Chrome 浏览器,如下所示:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    WebDriver driver = new ChromeDriver(options);
    

    作为替代方案,您还可以使用参数 window-size,如下所示:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("window-size=1400,600");
    WebDriver driver = new ChromeDriver(options);
    

    【讨论】:

    • 我也试过 options.addArguments("start-maximized");但它仅在我直接运行批处理文件但从詹金斯仍然无法正常工作时才有效
    • @elie 查看我的答案更新并让我知道状态
    • 谢谢你的关心,我试过了,还是一样,直接批量工作,但詹金斯失败,我用过 dm = driver.manage().window().getSize() ;获得宽度并且仍然 = 1044 不变
    • @elie 当您设置window-size=1400,600 时,您通过driver.manage().window().getSize(); 得到什么回报?
    • @DebanjanB 我明白了:(1044, 600)
    【解决方案3】:

    遇到了同样的问题,用这个 sn-p 解决了:(Java)

    driver.manage().window().fullscreen();

    它开始失败,然后传递参数以减小屏幕上显示的内容的字体大小。

            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.addArguments("window-size=1920,1080");
            chromeOptions.addArguments("--disable-notifications");
            chromeOptions.addArguments("--disable-extenstions");
            chromeOptions.addArguments("disable-infobars");
            chromeOptions.addArguments("force-device-scale-factor=0.75");
            chromeOptions.addArguments("high-dpi-support=0.75");
            driver = new ChromeDriver(chromeOptions);
    

    【讨论】:

      【解决方案4】:

      我有同样的问题,

      chromeOptions.addArguments("--start-maximized");
      

      还不够,

      我也用这个

      chromeOptions.addArguments("force-device-scale-factor=0.75");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-06
        • 2017-05-23
        • 1970-01-01
        • 1970-01-01
        • 2019-09-20
        • 1970-01-01
        • 2017-05-01
        • 1970-01-01
        相关资源
        最近更新 更多