无头模式下的Chromedriver问题

时间:2019-03-04 13:28:28

标签: java selenium webdriver selenium-chromedriver headless

我想知道是否有人在“无头”模式下使用chromedriver有问题。就我而言,以这种方式运行硒测试时,将无限期停止执行硒测试,不会完成测试并开始执行下一个测试用例,也不会给出相关的异常。我想知道是否有人对发生的事情有任何了解。我猜这个问题是由于webdriver的静态初始化

public static WebDriver createInstance(WebDriver driver, String browserName){..}

我的日志向我显示了这个顺序,测试用例没有完全执行,下一个测试用例称为

- INFO learning.helpers.DriverInitialisor - createInstance - 111 - Running Chrome browser in headless mode - INFO learning.helpers.DriverInitialisor - createInstance - 126 - Launching Chrome browser in local mode - INFO learning.tests.ExpandFAQ - expandAndCollapseFAQ - 30 - launching the ION Learning Hub Application - INFO learning.tests.ExpandFAQ - expandAndCollapseFAQ - 35 - Open a searched product - INFO learning.helpers.DriverInitialisor - createInstance - 111 - Running Chrome browser in headless mode - INFO learning.helpers.DriverInitialisor - createInstance - 126 - Launching Chrome browser in local mode - INFO learning.tests.CollapseFAQ - collapseFAQ - 30 - launching the ION Learning Hub Application - INFO learning.tests.CollapseFAQ - collapseFAQ - 35 - Open a searched product

这在少数测试用例中继续,然后对于其他测试用例再次开始完全执行。我正在运行约50个测试用例。没有实现多线程。

1 个答案:

答案 0 :(得分:1)

我注意到这种情况并且运行良好。您需要在无头模式下添加窗口大小作为参数。我不知道您使用的是哪种语言。

如果您使用的是python,请添加this。

  chrome_options = webdriver.ChromeOptions()
  chrome_options.add_argument('--headless')
  chrome_options.add_argument('window-size=1920x1080');

如果您使用的是Java,请将其添加。

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("headless");
chromeOptions.addArguments("window-size=1920,1080");

请尝试此操作,并让我知道是否可行。