2

я читаю учебник на сайте Arquillian в http://arquillian.org/guides/functional_testing_using_drone/Arquillian и Селен в смешанном контейнере/Client режиме

В соответствии с абзацем «Включение режима Client» они утверждают, что можно смешивать в-контейнере и режимах клиента в тот же тест! Просто оставьте проверяемый атрибут. Любой метод, аннотированный с помощью @RunAsClient, будет выполняться с клиента, остаток будет выполняться внутри контейнера, предоставляя вам лучшее из обоих миров!

Вот мой вопрос. Я хочу написать тест, который пользователи

@Drone 
DefaultSelenium browser and 

@EJB 
MyXXXRepository 

У меня есть один тест, который будет добавить пользователя в базу данных InMemory прежде, чем я есть тест Selenium, который входит в систему в браузере с пользователем ...

Итак, чтобы получить работу Selenium, мне нужно сказать, что @Deployment будет testable = false, это приведет к сбою моего @EJB. Итак, согласно документации, я могу пропустить testable = false, если я скажу Selenium Test Method, что он должен работать в режиме клиента. Согласно документации, это должно сработать. Но !!! Это будет сгенерировано исключение

Caused by: java.lang.NoClassDefFoundError: Lcom/thoughtworks/selenium/DefaultSelenium; 

Так что я должен быть в состоянии сказать

@Drone 
DefaultSelenium browser; 

Чтобы быть в режиме клиента, а также ...

Любые берущих?

ответ

0

Я решил проблему, используя сценарий импорта, который будет импортировать пользователя перед тестированием, поэтому мне не нужно создавать экземпляр репозитория, и теперь он является чистым тестом на стороне клиента.

0

Дрон предназначен для клиентов. Лично я никогда не пытался развертывать тесты WebDriver/Drone и запускать их с сервера. Это звучит немного сумасшедшим :) И, очевидно, поскольку сам тест смешанный загрузчик классов жалуется на импорт Drone.

Но у меня есть решение для вас, которое позволяет вам протестировать с точки зрения «серого окна». Существует довольно новое расширение в аркиллианской вселенной под названием Warp, которая позволяет решить вашу проблему. Вот the guide.

Надеюсь, что это поможет.

Смежные вопросы