- OS: MacOS Big sur
- 16 GB 2667 MHz DDR4
- 2,3 GHz 8-Core Intel Core i9
- AMD Radeon Pro 5500M 4 GB
- Test Café
- Cypress
- NightWatch
- Taiko
- PlayWright
- Robot Framework
The tests were made based on the following scenarios
- Open Liferay Portal
- Check if the text "Hello World" is present
- Check if text "Welcome to Liferay Community" is present
- Check if the page title (the same over the tab) is "Home - Liferay"
- check if footer contains the text "Powered By"
- Do the sign in
- Click on "Sign In" name (the anchor)
- Check if Email Address already have "@liferay.com" filled.
- Remove the predefined value in "Email Address" and type "[email protected]", check if the value "[email protected]" is present.
- Check if Password is empty and type "test"
- Check if "Sign In" button is enabled and click on it.
- Welcome Page (After Login)
- Check if "user avatar" is present.
- Check if the right sidebar is not visible.
- Open Simulation Guide
- Select all screen options available
- Set up a custom resolution, for example 600x800
- Google Chrome: Stable, Beta, Dev and Canary
- Internet Explorer (11+)
- Microsoft Edge (legacy and Chromium-based)
- Mozilla Firefox
- Safari
- Google Chrome mobile
- Safari mobile
- Fast test execution
- Headless mode
- Custom Reporters
- Promises Based
- Compatible with popular CI
- HTTP Intercept / Mock
- Record Screenshots and Videos
- Great Documentation
- The giant cursor helps the users follow each step
- Concurrent Test
- Live Watch - Hot Reloading
- Sometimes it's hard to debug a test error
- The community it's still growing and examples and helps/tutorials are sparse
- No way to debug the test while test is going on
- Some icons disappear on tests execution
- Uncaught errors simply closes the browser and tests are stopped.
- No way to create multiple describe and test scope
⏱️ Test done after 15s without any wait
✅ Test passed with assertions
JavaScript End to End Testing Framework
- Google Chrome: Stable, Beta, Dev and Canary
- Microsoft Edge
- Mozilla Firefox
- Electron
- Brave
- Fast test execution
- Headless mode
- Custom Reporters
- Compatible with popular CI
- HTTP Intercept / Mock
- Record Screenshots and Videos
- Great Documentation
- Debug While tests are running
- Time Travel
- Automatic waiting
- Viewport size
- Common test syntax using Describe and It
- It's not compatible with Safari and Internet Explorer
- Cannot run multiple browsers at the same time
- Cypress is not a general purpose automation tool.
- Each Cypress Test must be used inside a Test scope and cannot be associated to an variable
⏱️ Test done after 4.53s without any wait
✅ Test passed with assertions
Nightwatch.js is an automated end-to-end testing framework for web applications and websites. It is written in Node.js and uses the W3C WebDriver API (formerly Selenium WebDriver) for interacting with various browsers.
- Safari
- Chrome
- Firefox
- Fast test execution
- Headless Mode
- No watch mode
- Too verbose
- Test failures closes the browser and not execute other tests
- Asserts not matching after type on Input
- Week API
- No Intelisense on VScode
- No wait or Automatic waiting strategy
⏱️ Test done after 6.87s without any wait
✅ Test passed with assertions
- Chrome/Chromium
- Microsoft Edge
- Opera (unverified)
- Firefox (experimental)
- Selector in evidence during the test execution
- Log well detailed
- Simplified Syntax
- Week API
- Week Documentation
- Assertion API aside
- Slow Execution
⏱️ Test done after 54.24s
- Chromium
- Firefox
- Webkit
- Selector in evidence during the test execution
- Log well detailed
- Simplified Syntax
- Good to emulate geolocation and mobile devices
- Auto wait elements
- Screenshots
- Network intercept
- Fast test execution
- Headless mode
- CI Integration
- Week Documentation
- Assertion API aside
- Few browsers to play
- No videos recording by default
- You may have bad experience without using page objects to driver your test
⏱️ Test done after 4.72s without any wait
- Firefox
- Google Chrome
- Edge
- Safari
- Opera
- Android
- Iphone
- PhantomJS
- HTMLUnit
- HTMLUnit with Jasvascript
- Great Documentation
- Fast test execution
- Simplified natural language
- Integration with jenkins
- Headless mode
- Custom Reporters
- HTTP Mock
- Record Screenshots
- Concurrent Test
- Intellisense
- Lack of experience with the framework
- This high-level syntax may prevent us from controlling more low-level features
⏱️ Test done after 4.5s
✅ Test passed with assertions