serenity-bdd / serenity-cucumber

Cucumber integration for the Serenity BDD Reporting library
Other
78 stars 74 forks source link

Upgrade Cucumber version to 4 #178

Open borbamartin opened 5 years ago

borbamartin commented 5 years ago

Hey there! Is there any chance the Cucumber JVM version could be upgraded to the latest? I'd like to be able to use cucumber.api.TypeRegistryConfigurer.

Thanks!

wakaleo commented 5 years ago

At some point, but Cucumber 4 is not backward compatible in a major way, so existing users need to rewrite all their feature files and step definitions, and the APIs have completely changed.

borbamartin commented 5 years ago

Gotcha. Since I'd rather not opening another ticket, did you get a chance to look at this?

Is there any way I could change the browser restart configuration from the code? I want to use tagged hooks so some features restart the browser for each scenario, and some others keep the same browser alive throughout the feature. I used to do this in my JUnit custom runners by using @Managed(uniqueSession=true), but can't find the approach with Cucumber.

Thanks!

scotty6435 commented 5 years ago

+1 for this in general. Cucumber 4 supports parallel execution which is massive especially as the cucumber-jvm plugin is pretty janky

wakaleo commented 5 years ago

We are well aware of the parallel execution, but breaking thousands of existing features is a show-stopper, and that needs a lot of work to get around.

scotty6435 commented 5 years ago

@wakaleo, completely understandable. Target for next major release?

wakaleo commented 5 years ago

Yes, it is targeted for 2.1. The code is mostly in a branch, but it needs a lot of testing to ensure that it can work for both Cucumber 4.x and Cucumber 2.x with the same serenity-core version.

mlvandijk commented 5 years ago

Note that the TypeRegistryConfigurer was introduced in Cucumber-jvm v3.0.0, see CHANGELOG.md

mleegwt commented 5 years ago

175 There is a pull request to update to v4. Acording to https://docs.cucumber.io/cucumber/step-definitions/#expressions the regexp style step definitions should still be possible. What are the incompatibilities? Maybe we can solve them together.

cliviu commented 5 years ago

175 There is a pull request to update to v4. Acording to https://docs.cucumber.io/cucumber/step-definitions/#expressions the regexp style step definitions should still be possible. What are the incompatibilities? Maybe we can solve them together.

Hi, here you can find the incompatibility. https://github.com/cucumber/cucumber-jvm/issues/1478

mleegwt commented 5 years ago

According to https://github.com/cucumber/website/blob/master/apps/dynamic/views/_posts/announcing-cucumber-jvm-4-2-0.md the backwardscompatibility is reintroduced in v4.2.

wakaleo commented 5 years ago

We are looking into this - there is still work you need to do to upgrade, so it will still need a separate module.

KLBonn commented 5 years ago

Hi folks, we currently are upgrading to Cucumber4, and would like to continue using the Serenity Jira two-way integration. I understand that this still is "work in progress", however I wanted to try out whatever is done yet. So I cloned https://github.com/serenity-bdd/serenity-cucumber4, did a build/install (to my local Maven repo), and executed my automation project.

And I am happy to say: "Works on my machine!" :-)

So, can you shed some light on the tasks/issues holding you from publishing a release to Maven Central?

wakaleo commented 5 years ago

Good to hear - the delay is mainly that I haven’t had time to set up the build pipeline for this module yet.

turturie commented 5 years ago

Hi guys, Any update? @wakaleo , I did follow the steps you mentioned here, https://johnfergusonsmart.com/running-parallel-tests-serenity-bdd-cucumber/, but no luck, I am having issues with Scenario Outline not been reported correctly.

If there anything I can do to help to implement Cucumber native threads, let me know!

Thanks for this great FW.