Управление сеансами WebDriver при внедрении реализаций PageObject с помощью Java Spring CucumberJAVA

Программисты JAVA общаются здесь
Anonymous
Управление сеансами WebDriver при внедрении реализаций PageObject с помощью Java Spring Cucumber

Сообщение Anonymous »

Мне нужно внедрить различные реализации PageObject в зависимости от какого-либо свойства, но я столкнулся с проблемой управления сеансами WebDriver.
Конфигурация страниц:

Код: Выделить всё

@Configuration
public class PageImplConfig {

@Value("${application.url}")
private String url;

@Bean
public IProductDetailsPage pdp() {
if(url.contains("www.somesite.com")) {
return new ProductDetailsPageHG();
} else {
return new ProductDetailsPageDefault();
}
}

}
Конфигурация WD:

Код: Выделить всё

    @Bean
@Scope("browserscope")
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public WebDriver chromeDriver(){
ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
WebDriverManager.chromedriver().setup();
return new ChromeDriver(options);
}
Интерфейс автоматического подключения:

Код: Выделить всё

public class PdpSteps extends SpringBaseTestNGTest {

@Autowired
protected IProductDetailsPage pdp;
}
При использовании внутри Scenarion Outline (огурец) - первый пример работает как надо, но когда pdp используется для второго примера - происходит сбой с ошибкой 'org.openqa.selenium.NoSuchSessionException: Session Идентификатор равен нулю. Использование WebDriver после вызова quit()?'
Как правильно управлять сеансами?

Подробнее здесь: https://stackoverflow.com/questions/765 ... -with-java

Вернуться в «JAVA»