Ваши сценарии НЕ должны зависеть друг от друга, ваши сценарии должны быть автономными, перед тем как разрушить конкретный сценарий, вы должны подготовить все условия, необходимые для его выполнения, и, желательно, очистить также и после сценария.
Чтобы сохранить окно браузера для нескольких сценариев, сделайте экземпляр WebDriver статичным, например, вы можете использовать шаблон Singleton Holder.
Я понимаю вашепроблема, чтобы протестировать главную страницу, вам необходимо войти в систему, поэтому, естественно, вы можете подумать, что выполнение сценариев по порядку решит ее, но это плохой подход.
Вместо этого, чтобы протестировать главную страницу, загрузите куки ввеб-драйвер, поэтому он думает, что вы уже вошли в сеанс, или, альтернативно, вы можете создать 'before' @ Login хук, который может проверить, если вывошли в систему, если не будет запущена процедура входа в систему, перед запуском сценария.
@Before(value = "@Login")
public void loginIfNeeded()
{
// check you are logged in, if you are, do not login
// if you are not logged in, perform login procedure.
}
Пример сценария:
@Login
Scenario: Test main page
Given something
When something
Then something