#java #selenium-webdriver #cucumber #cucumber-jvm #qaf
#java #selenium-webdriver #cucumber #cucumber-jvm #qaf
Вопрос:
у нас уже есть автоматизированные тестовые наборы с использованием файлов функций cucumber-gherkin с WebDriver. Прямо сейчас мы можем выполнять файлы функций параллельно, однако мы не можем выполнять параллельное выполнение на уровне сценария / схемы сценария. Таким образом, мы хотим минимизировать время выполнения и максимально использовать облачный сервис.
Я прочитал этот пост, в котором утверждается
можно запустить gherkin как сценарий QAF, чтобы он имел такие функции, как настройка запуска, отчетность, параллельное выполнение, прослушивание шагов
.
Перед миграцией я хочу знать, пробовал ли кто-нибудь или знает какие-либо ограничения, поскольку наш тестовый стенд очень большой.
Ответ №1:
Да, с помощью QMetry Automation Framework вы можете выполнять параллельное выполнение на уровне сценария / схемы сценария без каких-либо изменений в ваших файлах функций.
Если вы использовали какие-либо хуки cucumber, это не сработает. Для этого вы можете предоставить прослушиватель TestNG для достижения той же цели. Вы получите больше поддержки слушателей от слушателей TestNG и QAF, что может быть недостижимо с помощью cucumber hooks.
Еще одно отличие, которое на самом деле не является ограничением, заключается в том, что для выполнения вместо —tag вам нужно использовать фильтр TestNG groups и предоставлять свои теги как group . Например:
<groups>
<run>
<exclude name="@MyTag" />
</run>
</groups>
Продолжайте и попробуйте без каких-либо опасений. Для быстрой оценки вы можете загрузить пример и проверить. При использовании cucumber вы получите гораздо больше возможностей с QAF для выполнения, а также для новой разработки нового тестового примера, такого как databean, поставщики данных, пользовательские компоненты и т. Д…
Комментарии:
1. Спасибо, я скачал пример и выполнил его. Это решило мою проблему. Я также видел отчеты, которые являются более описательными, чтобы понять все детали сценария, схему сценария.
2. @user861594 Я загрузил пример проекта и вижу, что есть
QAFPerfectoCucumberFormatter.java-ex
файл. Я считаю, что это действует как плагинCucumberRunner.java
, однако, когда я пытаюсь выполнитьCucumberRunner.java
, он терпит неудачуcucumber.runtime.CucumberException: Couldn't load plugin class: com.qmetry.qaf.examples.cucumber.runners.QAFPerfectoCucumberFormatter
, не могли бы вы сказать мне, нужно ли мне переименоватьQAFPerfectoCucumberFormatter.java-ex
вQAFPerfectoCucumberFormatter.java
? как мне выполнить пользовательский cucumberrunner? Спасибо за любую помощь3. Вы можете удалить папку cucumber / runner (com.qmetry.qaf.examples.cucumber.runners), это неиспользуемый код, который вообще не требуется, пропущенный для очистки.
4. Спасибо за эту информацию. Я обновился до последней версии QAF, однако, когда я использую аннотации TestNG в классе определения шага, он не запускается. QAF поддерживает только
@Given
@then`@when
, а не перехваты cucumber. Вы пробовали использовать аннотации TestNG в вашем step def вместо cucumber hooks?5. Вы зарегистрировали прослушиватель TestNG? Обратитесь testng.org/doc/documentation-main.html#testng-listeners . При использовании QAF у вас также могут быть дополнительные прослушиватели QAF. Обратитесь qmetry.github.io/qaf/latest/qaf_listeners.html
Ответ №2:
Да, недавно мы оценили функцию QMetry Automation Framework gherkin в одном из наших существующих проектов, где у нас есть тесты cucumber, и нам потребовалось менее одного часа для настройки. Для нас это сработало нормально. Для нас мы использовали QAF для других проектов (без cucumber), поэтому мы хорошо понимаем другие функции. Если вы новичок, это может занять день или два, но в долгосрочной перспективе это того стоит.