intellij запускает тесты serenity cucumber

#java #intellij-idea #serenity-bdd #cucumber-serenity

#java #intellij-idea #serenity-bdd #cucumber-serenity

Вопрос:

Я загрузил этот тестовый проект, чтобы изучить сценарий с serenity и cucumber

https://github.com/serenity-bdd/screenplay-pattern-todomvc

Я могу выполнить чистую проверку с помощью разных профилей в командной строке, как предлагает readme

Если я загружаю тот же проект в intellij и пытаюсь запустить одну функцию, это приводит к NPE

Есть ли какие-либо настройки intellij, которых мне не хватает для их запуска?

 C:AppsJavajdk8binjava -Dorg.jetbrains.run.directory=C:share_11__Serenityscreenplay-pattern-todomvc-mastersrctestresourcesfeaturesrecord_todos -Didea.launcher.port=7534 -Didea.launcher.bin.path=C:AppsIntelliJIDEA20162bin -Dfile.encoding=UTF-8 -classpath C:AppsJavajdk8jrelibcharsets.jar;C:AppsJavajdk8jrelibdeploy.jar;C:AppsJavajdk8jrelibextaccess-bridge-64.jar;C:AppsJavajdk8jrelibextcldrdata.jar;C:AppsJavajdk8jrelibextdnsns.jar;C:AppsJavajdk8jrelibextjaccess.jar;C:AppsJavajdk8jrelibextjfxrt.jar;C:AppsJavajdk8jrelibextlocaledata.jar;C:AppsJavajdk8jrelibextnashorn.jar;C:AppsJavajdk8jrelibextsunec.jar;C:AppsJavajdk8jrelibextsunjce_provider.jar;C:AppsJavajdk8jrelibextsunmscapi.jar;C:AppsJavajdk8jrelibextsunpkcs11.jar;C:AppsJavajdk8jrelibextzipfs.jar;C:AppsJavajdk8jrelibjavaws.jar;C:AppsJavajdk8jrelibjce.jar;C:AppsJavajdk8jrelibjfr.jar;C:AppsJavajdk8jrelibjfxswt.jar;C:AppsJavajdk8jrelibjsse.jar;C:AppsJavajdk8jrelibmanagement-agent.jar;C:AppsJavajdk8jrelibplugin.jar;C:AppsJavajdk8jrelibresources.jar;C:AppsJavajdk8jrelibrt.jar;C:share_11__Serenityscreenplay-pattern-todomvc-mastertargettest-classes;C:share_11__Serenityscreenplay-pattern-todomvc-mastertargetclasses;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-core1.1.42serenity-core-1.1.42.jar;C:UsersRZHHHN.m2repositorycomgoogleguavaguava19.0guava-19.0.jar;C:UsersRZHHHN.m2repositorycomgooglecodefindbugsjsr3053.0.1jsr305-3.0.1.jar;C:UsersRZHHHN.m2repositorycomgoogleinjectguice3.0guice-3.0.jar;C:UsersRZHHHN.m2repositoryjavaxinjectjavax.inject1javax.inject-1.jar;C:UsersRZHHHN.m2repositoryaopallianceaopalliance1.0aopalliance-1.0.jar;C:UsersRZHHHN.m2repositorycglibcglib3.1cglib-3.1.jar;C:UsersRZHHHN.m2repositoryorgow2asmasm5.0.3asm-5.0.3.jar;C:UsersRZHHHN.m2repositorycommons-codeccommons-codec1.10commons-codec-1.10.jar;C:UsersRZHHHN.m2repositoryorgobjenesisobjenesis2.1objenesis-2.1.jar;C:UsersRZHHHN.m2repositoryorgslf4jslf4j-api1.7.21slf4j-api-1.7.21.jar;C:UsersRZHHHN.m2repositoryxml-apisxml-apis1.4.01xml-apis-1.4.01.jar;C:UsersRZHHHN.m2repositoryinfocukescucumber-core1.2.4cucumber-core-1.2.4.jar;C:UsersRZHHHN.m2repositoryinfocukescucumber-html0.2.3cucumber-html-0.2.3.jar;C:UsersRZHHHN.m2repositoryinfocukescucumber-jvm-deps1.0.5cucumber-jvm-deps-1.0.5.jar;C:UsersRZHHHN.m2repositoryinfocukesgherkin2.12.2gherkin-2.12.2.jar;C:UsersRZHHHN.m2repositorycommons-loggingcommons-logging1.2commons-logging-1.2.jar;C:UsersRZHHHN.m2repositoryorgmockitomockito-core1.10.19mockito-core-1.10.19.jar;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-report-resources1.1.42serenity-report-resources-1.1.42.jar;C:UsersRZHHHN.m2repositorycomgooglecodegsongson2.6.1gson-2.6.1.jar;C:UsersRZHHHN.m2repositorycommons-iocommons-io2.4commons-io-2.4.jar;C:UsersRZHHHN.m2repositorycomoperaoperadriver1.5operadriver-1.5.jar;C:UsersRZHHHN.m2repositorycomoperaoperalaunchers1.1operalaunchers-1.1.jar;C:UsersRZHHHN.m2repositorycomgoogleprotobufprotobuf-java2.4.1protobuf-java-2.4.1.jar;C:UsersRZHHHN.m2repositorycommons-jxpathcommons-jxpath1.3commons-jxpath-1.3.jar;C:UsersRZHHHN.m2repositoryorgini4jini4j0.5.2ini4j-0.5.2.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-server2.53.1selenium-server-2.53.1.jar;C:UsersRZHHHN.m2repositorycombeustjcommander1.48jcommander-1.48.jar;C:UsersRZHHHN.m2repositoryorgbouncycastlebcprov-jdk15on1.48bcprov-jdk15on-1.48.jar;C:UsersRZHHHN.m2repositoryorgbouncycastlebcpkix-jdk15on1.48bcpkix-jdk15on-1.48.jar;C:UsersRZHHHN.m2repositorymx4jmx4j-tools3.0.1mx4j-tools-3.0.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumjetty-repacked9.2.13.v20150730jetty-repacked-9.2.13.v20150730.jar;C:UsersRZHHHN.m2repositoryjavaxservletjavax.servlet-api3.1.0javax.servlet-api-3.1.0.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumjetty-rc-repacked5jetty-rc-repacked-5.jar;C:UsersRZHHHN.m2repositorynetjcipjcip-annotations1.0jcip-annotations-1.0.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-java2.53.1selenium-java-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-chrome-driver2.53.1selenium-chrome-driver-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-remote-driver2.53.1selenium-remote-driver-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-api2.53.1selenium-api-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-edge-driver2.53.1selenium-edge-driver-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgapachecommonscommons-exec1.3commons-exec-1.3.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-firefox-driver2.53.1selenium-firefox-driver-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-ie-driver2.53.1selenium-ie-driver-2.53.1.jar;C:UsersRZHHHN.m2repositorynetjavadevjnajna4.1.0jna-4.1.0.jar;C:UsersRZHHHN.m2repositorynetjavadevjnajna-platform4.1.0jna-platform-4.1.0.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-safari-driver2.53.1selenium-safari-driver-2.53.1.jar;C:UsersRZHHHN.m2repositoryionettynetty3.5.7.Finalnetty-3.5.7.Final.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-support2.53.1selenium-support-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumselenium-leg-rc2.53.1selenium-leg-rc-2.53.1.jar;C:UsersRZHHHN.m2repositoryorgyamlsnakeyaml1.8snakeyaml-1.8.jar;C:UsersRZHHHN.m2repositorycomcodebornephantomjsdriver1.2.1phantomjsdriver-1.2.1.jar;C:UsersRZHHHN.m2repositoryorgseleniumhqseleniumhtmlunit-driver2.21htmlunit-driver-2.21.jar;C:UsersRZHHHN.m2repositoryioappiumjava-client4.0.0java-client-4.0.0.jar;C:UsersRZHHHN.m2repositorycommons-validatorcommons-validator1.5.0commons-validator-1.5.0.jar;C:UsersRZHHHN.m2repositorycommons-beanutilscommons-beanutils1.9.2commons-beanutils-1.9.2.jar;C:UsersRZHHHN.m2repositorycommons-digestercommons-digester1.8.1commons-digester-1.8.1.jar;C:UsersRZHHHN.m2repositoryorgcodehausgroovygroovy2.4.4groovy-2.4.4.jar;C:UsersRZHHHN.m2repositorynetsfopencsvopencsv2.0opencsv-2.0.jar;C:UsersRZHHHN.m2repositorycommons-beanutilscommons-beanutils-core1.8.3commons-beanutils-core-1.8.3.jar;C:UsersRZHHHN.m2repositoryjoda-timejoda-time2.7joda-time-2.7.jar;C:UsersRZHHHN.m2repositorycomthoughtworksxstreamxstream1.4.9xstream-1.4.9.jar;C:UsersRZHHHN.m2repositoryxmlpullxmlpull1.1.3.1xmlpull-1.1.3.1.jar;C:UsersRZHHHN.m2repositoryxpp3xpp3_min1.1.4cxpp3_min-1.1.4c.jar;C:UsersRZHHHN.m2repositoryorgapachecommonscommons-lang33.4commons-lang3-3.4.jar;C:UsersRZHHHN.m2repositorycommons-collectionscommons-collections3.2.2commons-collections-3.2.2.jar;C:UsersRZHHHN.m2repositoryorgfreemarkerfreemarker2.3.23freemarker-2.3.23.jar;C:UsersRZHHHN.m2repositorynetsourceforgejexcelapijxl2.6.12jxl-2.6.12.jar;C:UsersRZHHHN.m2repositoryorghamcresthamcrest-core1.3hamcrest-core-1.3.jar;C:UsersRZHHHN.m2repositoryorghamcresthamcrest-library1.3hamcrest-library-1.3.jar;C:UsersRZHHHN.m2repositorynetsourceforgehtmlunithtmlunit2.21htmlunit-2.21.jar;C:UsersRZHHHN.m2repositorynetsourceforgehtmlunithtmlunit-core-js2.17htmlunit-core-js-2.17.jar;C:UsersRZHHHN.m2repositorynetsourceforgehtmlunitneko-htmlunit2.21neko-htmlunit-2.21.jar;C:UsersRZHHHN.m2repositoryxercesxercesImpl2.11.0xercesImpl-2.11.0.jar;C:UsersRZHHHN.m2repositorynetsourceforgecssparsercssparser0.9.18cssparser-0.9.18.jar;C:UsersRZHHHN.m2repositoryorgw3ccsssac1.3sac-1.3.jar;C:UsersRZHHHN.m2repositoryorgeclipsejettywebsocketwebsocket-client9.2.15.v20160210websocket-client-9.2.15.v20160210.jar;C:UsersRZHHHN.m2repositoryorgeclipsejettyjetty-util9.2.15.v20160210jetty-util-9.2.15.v20160210.jar;C:UsersRZHHHN.m2repositoryorgeclipsejettyjetty-io9.2.15.v20160210jetty-io-9.2.15.v20160210.jar;C:UsersRZHHHN.m2repositoryorgeclipsejettywebsocketwebsocket-common9.2.15.v20160210websocket-common-9.2.15.v20160210.jar;C:UsersRZHHHN.m2repositoryorgeclipsejettywebsocketwebsocket-api9.2.15.v20160210websocket-api-9.2.15.v20160210.jar;C:UsersRZHHHN.m2repositoryorgapachehttpcomponentshttpclient4.5.2httpclient-4.5.2.jar;C:UsersRZHHHN.m2repositoryorgapachehttpcomponentshttpcore4.4.4httpcore-4.4.4.jar;C:UsersRZHHHN.m2repositoryorgapachehttpcomponentshttpmime4.5.2httpmime-4.5.2.jar;C:UsersRZHHHN.m2repositoryorgfluentleniumfluentlenium-core0.10.2fluentlenium-core-0.10.2.jar;C:UsersRZHHHN.m2repositorycomjhlabsfilters2.0.235filters-2.0.235.jar;C:UsersRZHHHN.m2repositoryorgasciidoctorasciidoctor-java-integration0.1.4asciidoctor-java-integration-0.1.4.jar;C:UsersRZHHHN.m2repositoryorgjrubyjruby-complete1.7.4jruby-complete-1.7.4.jar;C:UsersRZHHHN.m2repositoryorgimgscalrimgscalr-lib4.2imgscalr-lib-4.2.jar;C:UsersRZHHHN.m2repositoryjavaxvalidationvalidation-api1.1.0.Finalvalidation-api-1.1.0.Final.jar;C:UsersRZHHHN.m2repositoryorghibernatehibernate-validator5.1.1.Finalhibernate-validator-5.1.1.Final.jar;C:UsersRZHHHN.m2repositoryorgjbossloggingjboss-logging3.1.3.GAjboss-logging-3.1.3.GA.jar;C:UsersRZHHHN.m2repositorycomfasterxmlclassmate1.0.0classmate-1.0.0.jar;C:UsersRZHHHN.m2repositoryjavaxeljavax.el-api2.2.4javax.el-api-2.2.4.jar;C:UsersRZHHHN.m2repositoryorgglassfishwebjavax.el2.2.4javax.el-2.2.4.jar;C:UsersRZHHHN.m2repositoryxalanxalan2.7.2xalan-2.7.2.jar;C:UsersRZHHHN.m2repositoryxalanserializer2.7.2serializer-2.7.2.jar;C:UsersRZHHHN.m2repositorycomjaywayawaitilityawaitility1.6.3awaitility-1.6.3.jar;C:UsersRZHHHN.m2repositorycomtypesafeconfig1.2.1config-1.2.1.jar;C:UsersRZHHHN.m2repositoryorgjsoupjsoup1.8.3jsoup-1.8.3.jar;C:UsersRZHHHN.m2repositorycomgooglejimfsjimfs1.0jimfs-1.0.jar;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-junit1.1.42serenity-junit-1.1.42.jar;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-screenplay1.1.42serenity-screenplay-1.1.42.jar;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-screenplay-webdriver1.1.42serenity-screenplay-webdriver-1.1.42.jar;C:UsersRZHHHN.m2repositorynetserenity-bddserenity-cucumber1.1.10serenity-cucumber-1.1.10.jar;C:UsersRZHHHN.m2repositoryinfocukescucumber-java1.2.4cucumber-java-1.2.4.jar;C:UsersRZHHHN.m2repositoryinfocukescucumber-junit1.2.4cucumber-junit-1.2.4.jar;C:UsersRZHHHN.m2repositoryorgslf4jslf4j-simple1.7.7slf4j-simple-1.7.7.jar;C:UsersRZHHHN.m2repositoryjunitjunit4.12junit-4.12.jar;C:UsersRZHHHN.m2repositoryorgassertjassertj-core1.7.0assertj-core-1.7.0.jar;C:UsersRZHHHN.m2repositorycomgooglecodelambdajlambdaj2.3.3lambdaj-2.3.3.jar;C:UsersRZHHHN.m2repositorycglibcglib-nodep2.2cglib-nodep-2.2.jar;C:UsersRZHHHN.m2repositoryorghamcresthamcrest-all1.3hamcrest-all-1.3.jar;C:AppsIntelliJIDEA20162pluginscucumber-javalibcucumber-jvm-formatter.jar;C:AppsIntelliJIDEA20162libidea_rt.jar com.intellij.rt.execution.application.AppMain cucumber.api.cli.Main --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --glue net.serenitybdd.demos.todos.cucumber.steps --glue net.serenitybdd.cucumber.actors C:/share/_11/__Serenity/screenplay-pattern-todomvc-master/src/test/resources/features/record_todos/add_new_items_to_the_todo_list.feature
Testing started at 4:07 PM ...
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.project.name=Demo Project using Serenity and Cucumber
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.linked.tags=issue
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - webdriver.driver=chrome
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - webdriver.base.url=http://todomvc.com/examples/angularjs/#/
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.test.root=net.serenitybdd.demos.todos.features
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.take.screenshots=BEFORE_AND_AFTER_EACH_STEP
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.tag.failures=true
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.browser.width=1280
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - serenity.browser.height=1024
[main] INFO net.thucydides.core.util.PropertiesFileLocalPreferences - webdriver.wait.for.timeout=20000
Starting ChromeDriver 2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf) on port 24696
Only local connections are allowed.

java.lang.NullPointerException
at net.thucydides.core.steps.StepEventBus.updateOverallResults(StepEventBus.java:645)
  at net.serenitybdd.screenplay.EventBusInterface.updateOverallResult(EventBusInterface.java:29)
  at net.serenitybdd.screenplay.Actor.perform(Actor.java:109)
  at net.serenitybdd.screenplay.Actor.attemptsTo(Actor.java:80)
  at net.serenitybdd.screenplay.Actor.wasAbleTo(Actor.java:74)
  at net.serenitybdd.demos.todos.cucumber.steps.TodoUserSteps.that_James_has_an_empty_todo_list(TodoUserSteps.java:33)
  at ✽.Given that James has an empty todo list(C:/share/_11/__Serenity/screenplay-pattern-todomvc-master/src/test/resources/features/record_todos/add_new_items_to_the_todo_list.feature:9)

Skipped step
  

Можно ли как-нибудь запустить serenity test в режиме отладки, чтобы я мог собрать больше информации и открыть отчет об ошибке?

Комментарии:

1. Есть успехи в использовании screenplay в IntelliJ? Я попробовал новейшую версию sereinity и IntelliJ, и проблема все еще возникает.

Ответ №1:

Эта ссылка должна помочь, не забудьте дать свои определения в разделе glue конфигурации.

https://johnfergusonsmart.com/running-cucumber-serenity-feature-files-directly-intellij/

Комментарии:

1. Для меня было достаточно этой части связанной страницы … в окне «Редактировать параметры конфигурации». Установите для основного класса значение ‘net.serenitybdd.cucumber.cli.Main'».

Ответ №2:

Я провел несколько тестов в своем собственном проекте и запросил в этом отчете об ошибке serenity. Запуск функциональных файлов непосредственно из IntelliJ приведет к тому, что плагин Cucumber установит и загрузит классы. Плагин не учитывал необходимый класс CucumberWithSerenity runner, и это вызывает проблемы. Однако вы можете запустить их из IDE, добавив класс AllRunner непосредственно в папку src /main / java:

 @RunWith(CucumberWithSerenity.class)
public class AllStories {}
  

Затем тесты могут быть выполнены непосредственно из IDE. Вы можете настроить, какие тесты использовать, что задокументировано в the_scenario_runner. Изменив serenity.test.root , как это сделано в профилях maven, вы можете указать, хотите ли вы использовать версии сценария или объекты страницы.