2
Чтобы избежать зависимостей и облегчить параллельное выполнение между функциями, я хочу запускать каждую функцию в своем собственном экземпляре браузера.Как запустить каждую функцию огурца в новом экземпляре браузера?
В настоящее время у меня есть эта настройка. По достоинству оцените направления.
@CucumberOptions(..., features = "/features/"...)
public class RunCukes {
public static WebDriver driver = new FirefoxDriver();
}
Мои черты ...
Feature: Feature-1
Scenario: A Scenario
Give I login as "<user>"
...
Feature: Feature-2
Scenario: A Scenario
Give I login as "<user>"
Шаг definitons ...
@Given("^I login as \"([^\"]*)\"$")
public void I_login_as(String user) throws Throwable {
try {
driver.get("url");
} catch (Exception e) {
//do something (e.g.take screenshot) and close browser
}
}
...
Это бросит проблема при повторном использовании шага «Дайте мне войти как« », потому что переменная' driver' будет неопределенной, не так ли? –
Bala
Вы также используете так называемые «тегированные крючки», которые позволят вам создавать пользовательские '@ Before' и' @ After' - http://zsoltfabok.com/blog/2012/09/cucumber-jvm-hooks/ –