Есть определенный набор тестов, который запускается под различными драйверами (сафари, хром, фф, ие), хотелось бы добавить к этому набору еще пару тестов, которые требуют определенные capabilities драйвера, не вырывая их из контекста данного джоба/сюита.
Есть ли возможность засетить capabilities драйверу прямо перед началом теста, а по его окончанию их убрать?
Читал - http://blog.qatools.ru/thucydides/thucydides-fixture-service/ - но не сильно понял как именно в этой ситуации создается драйвер.
И вообще какие есть способы, передачи драйверу capabilities в thucydides. Сейчас я делаю следующим образом:
public class iphoneUserAgentChromeDriver implements DriverSource {
public WebDriver newDriver() {
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A4449d Safari/9537.53");
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
return new ChromeDriver(desiredCapabilities);
}
public boolean takesScreenshots() {
return true;
}
}
При этом нужно создать проперти файл в котором указать следующее:
webdriver.driver = provided
webdriver.provided.type = iphoneUserAgentChromeDriver
webdriver.provided.iphoneUserAgentChromeDriver = MPSAutoTests.logic.iphoneUserAgentChromeDriver
thucydides.driver.capabilities = iphoneUserAgentChromeDriver
И при запуске мавену передавать путь к проперти файле -Dproperties=/путь
и драйвер -Dwebdriver.drive=provided
Если чесно, то это решение кажется мне весьма неудобным и громоздким, возможно, кто-то знает решение по лучше?