【问题标题】:Unable to Set Size (Increase Size) for Chrome Browser through Selenium in Jenkins?无法通过 Jenkins 中的 Selenium 为 Chrome 浏览器设置大小(增加大小)?
【发布时间】:2015-10-14 19:52:56
【问题描述】:

我无法通过 jenkins 中的 selenium 增加 chrome 窗口大小,最大增加到 1036、780,

我尝试减小浏览器大小然后它可以工作,但它没有增加大小,它适用于 firefox 驱动程序,

只有 chrome 驱动程序遇到问题,而不是 firefox 问题

我尝试了以下逻辑:-

System.setProperty(Chrome_driver_initiation,chrome_driver_path);

driver = new ChromeDriver();

  1. driver.manage().window().setSize(new Dimension(1900, 1000));

  2. driver.manage().window().setPosition(new Point(0, 0)); driver.manage().window().setSize(new Dimension(1900, 1000));

  3. ChromeOptions 选项 = 新 ChromeOptions(); options.addArguments("--start-maximized"); driver = new ChromeDriver(options);

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

  5. 工具包工具包 = Toolkit.getDefaultToolkit(); int width =(int) toolkit.getScreenSize().getWidth(); int height = (int)toolkit.getScreenSize().getHeight(); driver.manage().window().setSize(new Dimension(width,height));

  6. ChromeOptions 选项 = 新 ChromeOptions(); options.addArguments("窗口大小=1936,1056"); driver = new ChromeDriver(options);

  7. ((JavascriptExecutor) 驱动程序).executeScript("window.resizeTo(1936, 1056)");

以上逻辑在本地系统中运行良好,但在 jenkins slave 中运行良好,请任何人帮忙。

【问题讨论】:

  • 你好@Sumanth Urs,你找到OP的解决方案了吗?如果是,请告诉我。我也面临同样的问题

标签: selenium jenkins


【解决方案1】:

减小字体大小有效。
在 Chrome 中添加 headless 选项似乎对我有用:

option.addArguments("--headless")

【讨论】:

  • +1 表示无头。除了这个,似乎没有什么对我有用。我相信 Jenkins 无法很好地调整浏览器的大小以执行所需的任务。
【解决方案2】:

你可以在 jenkins 中以无头模式运行测试,这样你就可以设置你想要的大小

【讨论】:

    【解决方案3】:

    有同样的问题,只有传递参数来构建命令对我有用。

    mvn clean install Dselenide.browserSize=1900x1200 
    

    【讨论】:

    • -Dselenide.browserSize。当然,只有在使用 Selenide 时。
    【解决方案4】:

    对我有用的唯一方法是减小屏幕上显示的内容的字体大小,否则当 Jenkins 作为服务启动 chrome 驱动程序时不会让您最大化或调整大小。另一种方法是减小字体大小,这样即使没有最大化也可以全部适应。

    //reduce font size options.addArguments("force-device-scale-factor=0.50"); options.addArguments("high-dpi-support=0.50");

    如下图所示

    `System.setProperty("webdriver.chrome.driver", "path-to\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("chrome.switches", "--disable-web-security --disable-extensions --            disable-extensions-file-access-check --disable-extensions-http-throttling --disable-infobars --enable-automation");
    //reduce font size
    options.addArguments("force-device-scale-factor=0.50");
    options.addArguments("high-dpi-support=0.50");
    Map<String, Object> prefs = new HashMap<String, Object>();
    prefs.put("credentials_enable_service", false);
    prefs.put("profile.password_manager_enabled",false);
    prefs.put("profile.default_content_settings.popups", 0);
    options.setExperimentalOption("prefs", prefs);
    new DesiredCapabilities();
    DesiredCapabilities caps = DesiredCapabilities.chrome();
    caps.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new ChromeDriver(caps);`
    

    【讨论】:

      【解决方案5】:

      使用这个

      ChromeOptions options = new ChromeOptions();
      options.addArguments("--window-size=1280,1024");
      

      【讨论】:

        【解决方案6】:

        Chrome 不允许将尺寸设置为大于系统的屏幕分辨率宽度,您的情况可能就是这个问题。一些解决方法可能是最大化窗口以至少具有该系统上可用的最大窗口。

        【讨论】:

        • 这对我来说是个问题。在我的本地盒子上,'--window-size=800,600' 工作正常。但是,在 TeamCity 上,它在 VM 上运行。屏幕截图都具有相同的分辨率。只是为了测试,我将窗口大小设置为 400,400,我可以看到屏幕截图更小。现在不知何故需要调整 VM 分辨率。
        猜你喜欢
        • 2020-06-21
        • 2016-05-24
        • 1970-01-01
        • 2016-03-07
        • 2012-11-27
        • 2015-11-15
        • 2015-10-29
        • 2011-11-17
        • 2019-07-19
        相关资源
        最近更新 更多