使用Headless Chrome的Spring Boot selenium集成测试运行速度非常慢

时间:2017-10-30 17:13:58

标签: spring selenium spring-boot selenium-chromedriver

我有一个Spring Boot Web应用程序和一些使用selenium运行的集成测试。我的所有集成测试都继承自:

BootIntegracaoTest.java

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = EaudApplication.class)
@ActiveProfiles(value = "default,teste")
public abstract class BootIntegracaoTest {

    @Autowired public Environment env;

    static {
        System.setProperty("webdriver.chrome.driver",
                SystemUtils.IS_OS_WINDOWS ? "target/test-classes/chromedriver_win32.exe" : "target/test-classes/chromedriver_linux64");

        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");
        ChromeDriver driver = new ChromeDriver(options);
        SeleniumQuery.$.driver().use(driver);
        Runtime.getRuntime().addShutdownHook(new Thread(() -> $.driver().quit()));
    }
}

如果我取消 - 无头论证,测试将在正常时间运行。无头论证,它真的运行。

我已启用了chromedriver日志,等待某些请求似乎很慢:[17.289][INFO]: Waiting for pending navigations...

我使用的是Selenium 2.53.1和ChromeDriver:2.32

我也试过很多铬旗,但没有成功。如果有人有类似的问题可以提供帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

这个答案可能为时已晚,但未来可能对某人有所帮助。

试试这两个ChromeOptions:

options.addArguments("--proxy-server='direct://'");
options.addArguments("--proxy-bypass-list=*");