Управление драйверами Selenium в Springboot - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь создать селеновый фреймворк с помощью весенней загрузки.То, что я пытаюсь сделать, это Spring-Boot должен управлять созданием драйвера селен, даже когда мы запускаем тест параллельно, и, если возможно, я хочу избежать передачи объекта драйвера в конструктор класса страницы.Поэтому я создал класс бинов, как показано ниже:

@Bean
public WebDriver getDriver(){
            return new ChromeDriver();
}

, и он отлично работал для одиночного теста.Но для нескольких параллельных тестов я изменил область действия вышеприведенного метода на прототип, и когда я запустил тест, он запустил несколько тестов, но это не сработало, как я ожидал, и команды начали запускаться не в том браузере.Я знаю, что мне не хватает чего-то связанного с Thread / параллельным материалом.Было бы очень полезно, если бы кто-то мог мне помочь, или кто-то мог бы поделиться git-репо, где используются spring-boot и selenium.

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете попробовать изменить область видимости с помощью:

@Bean
@Scope(value = "thread", proxyMode = ScopedProxyMode.TARGET_CLASS)
public WebDriver getDriver(){
            return new ChromeDriver();
}

@Bean
public static CustomScopeConfigurer customScopeConfigurer()
{
    CustomScopeConfigurer scopeConfigurer = new CustomScopeConfigurer();
    Map<String, Object> scopes = new HashMap<>();
    scopes.put("thread", SimpleThreadScope.class);
    scopeConfigurer.setScopes(scopes);
    return scopeConfigurer;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...