Proposal to adopt new BDD Automation Framework - SerenityJS
SerenityJS to adopt the BDD concept for E2E / Acceptance Testing.
Pros:
- Both technical and non-technical people have a better visibility on the Test coverage and scenarios
- Test Data is not part of the test-script and easy to modify through the Gherkin/feature file
- Scripting can be done in JavaScript or TypeScript
- Serenity produces illustrated, narrative-style reports
- Automation tool used in this framework - Protractor provides the inbuilt support of Selenium Grid which makes easier multi-browser or parallel testing
Cons:
- As such it's mainly built for AngulaJS, however, it supports all other front-end technologies. A couple of weeks back when I discussed with the Author of this framework, they are working for the better support for the React library (like additional locator for react specific elements/controls)
- Almost all the existing script(s) has to be re-write
Sample script for xPub Europe PMC: https://github.com/rakeshnambiar/serenityjs.git
xPub SerenityJS demo recording https://drive.google.com/open?id=1R5mhYsDGy02Mv0G7rIAQUriOB9qm-wtj
Dockerized sample script & demo: https://github.com/rakeshnambiar/serenityjs https://drive.google.com/file/d/1IYCSP2DQgu68n2vNvINdg0EKCs3y3Qm6/view
References: https://europepmc.github.io/techblog/testing/2018/01/29/behavior-driven-development-in-bioinformatics.html
@yannis @adam @jure @tamlyn I created the RFC at last and sorry for the delay. Probably the TestCafe experts can add more items in the 'Cons' section later on. Looking forward to all of your comments.