Как позвонить @BeforeSuite после создания экземпляра webdriver в Arquillian - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь использовать @BeforeSuite после создания экземпляра webdriver в Arquillian

Я просто привожу пример ниже

@RunAsClient
public class GoogleTest extends Arquillian {

    @Drone
    private WebDriver driver;

    @ArquillianResource
    private URL contextRoot;

    @Page
    Google googlePage;

    @BeforeSuite
    public void init() {
        driver.get(contextRoot.toString());
    }

    @Test
    public void googleSearchTest() {
        System.out.println(contextRoot);
        googlePage.searchFor("Arquillian Graphene");
    }
}

Но он получает исключение нулевого указателя, потому что драйвер не создан.Поэтому мой вопрос заключается в том, как вызвать мой @BeforeSuite после того, как Arquillian определил @ BeforeSuite.

Я не хочу выполнять создание экземпляра веб-драйвера, я предпочитаю, чтобы это обрабатывалось аннотацией Arquillian @Drone, и я выполню своюсобственный @BeforeSuite после этого.

1 Ответ

0 голосов
/ 14 июня 2018

Жизненный цикл WebDriver контролируется Аркиллианом Дроном.Вам не нужно создавать его экземпляр!

Вы не должны обращаться к WebDriver в BeforeSuite, так как к этому времени Arquillian не инициализировал бы его.На самом деле это происходит после этого.Так что это хорошее место, если вы хотите программно переопределить любые из ваших arquillian.xml настроек.

Если вы хотите выполнить некоторые настройки с использованием веб-драйвера, например, войти в систему и т. Д., Вы можете сделать это в самом тесте или BeforeTest.BeforeSuite не подходит для запуска URL

...