Today I've got some theoretical question. I have a little experience in BDD with Cucumber. Now I started working in API testing and I faced with Serenity BDD framework on my new project. It is used with Cucumber. So I would like to clarify what is the difference between Serenity BDD Framework and Cucumber and why can't we use just Cucumber for our tests, because it seems to me, like these two tools are doing the same job. Could anybody give me some explanation or maybe some link to correspondent documentation. Thanks in advance!
What is the difference between Serenity BDD Framework and Cucumber tool
Asked Answered
No, those are 2 different things.
Cucumber is the layer to map BDD syntax, which is written in
.feature
file, with actual code that does the job.Serenity BDD is the framework supporting 3 different approaches:
- Cucumber: same features as stand-alone cucumber, can work with UI or API Automation
- Page Object: works with UI automation (selenium)
- Screenplay: a design pattern for UI and API automation
Serenity BDD does many things for auto testers that:
- Config-oriented:
serenity.properties
orserenity.conf
. For example: take screenshot when FOR_EACH_ACTION, BEFORE_AND_AFTER_EACH_STEP, AFTER_EACH_STEP, FOR_FAILURES, DISABLED. This is really helpful for debugging. https://serenity-bdd.github.io/docs/reference/serenity-properties#serenitytakescreenshots - Living report: much more better comparing to cucumber. https://serenity-bdd.github.io/docs/reporting/living_documentation
- Wrap other libs in nice and clean APIs: serenity-appium, serenity-browserstack, serenity-cucumber, serenity-rest-assured, serenity-saucelabs, serenity-shutterbug1x ... You see all of them at https://github.com/serenity-bdd/serenity-core
- Config-oriented:
© 2022 - 2024 — McMap. All rights reserved.