我正在尝试为登录功能创建一些自动化测试,目标用户可以在登录后输入仪表板代码。
我用的是Java +硒+黄瓜。
在UI模式(正常模式/非无头模式)下,我可以运行测试并获得通过的结果。 但是当我切换到无头模式时,出现错误,并且自动化无法进入仪表板。
这是我在代码中的chrome选项
//use it when run on linux
System.setProperty("webdriver.chrome.driver","/usr/bin/chromedriver");
//use it when run on mac
//System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
options.addArguments(
"--verbose",
"--headless",
"--incognito",
"--test-type",
"--window-size=1920,1080",
"--start-maximized",
"--disable-web-security",
"--disable-gpu",
"--disable-popup-blocking",
"--disable-dev-shm-usage",
"--disable-extensions",
"--disable-infobars",
"--allow-running-insecure-content",
"--allow-insecure-localhost",
"--ignore-certificate-errors",
"--no-sandbox"
);
//use it when run in headless
driver = new ChromeDriver(options)
我添加了一个大窗口,为无头的chrome添加了一些参数选项,但是在使用无头模式时仍然存在问题。
这是我的资料库 https://gitlab.com/hanatakaruki/loginproblem.git
您可以克隆它并在本地进行测试,请先测试UI /正常模式,然后再尝试无头模式。
谢谢