What is new in Sahi Pro v9.0.0
abstract
Sahi Pro v9.0.0 is a major release with significant feature additions and modifications. The following summarizes features and enhancements in Sahi Pro v9.0.0.
danger
Read this section, before upgrading to Sahi Pro v9.0.0
- Java 1.8 or above is needed for running Sahi Pro v9.0.0
- Curl connection implementation has been removed in Sahi Pro v9.0.0.
- In Sahi Pro v8.0.0, curl connection implementation was used for 401 authentication handling. It was noted that our curl connection implementation was causing issues for users. So it has been removed.
- There have been major improvements for 401 authentication handling in Sahi Pro v9.0.0. Thus users will not be impacted by this removal.
Key Features
Business Driven Test Automation
In Sahi Pro 9.0.0 we have revisited the way we approach the test automation problem.Till the previous version, Our recorder, function extractor and scenario framework made it easy to create test automation scripts without writing much code. How ever it still needed the tester's familiarity with code to make it all work. You coded less, but you still needed the knowledge.
In 9.0.0, we wanted to make it really easy for any tester to pick and use Sahi Pro - even testers without much coding knowledge or experience. So we moved around our existing pieces, and came up with Business Driven Test Automation (BDTA). BDTA flips the test automation by allowing the tester to create the business scenarios first, even before the application is ready or has a UI. When the application UI gets ready, the recorder can be exercised to implement keywords by capturing the underlying steps and elements.
Data Driven Testing
Running test cases with different sets of data can now be easily done via the Data Drive wizard. This implementation is easier to use than our older implementation. It also ensures tests are still readable even after moving data outside.Autoheal for web automation
We have made test execution more resilient with the Autoheal feature. If an element has changed, Sahi will try to guess the new element. If the new element is found, Sahi will mark the change in the logs and continue execution. This can reduce failures and reduce effort spent in stopping, analyzing and rerunning scripts. (Autoheal is currently available only for web automation.)Enhanced Suite analysis
When suites fail, a good amount of time was spent analyzing the test results to find the core problem. We have enhanced Suite analysis to analyze the reports and pinpoint the source of failures. When you know that the 23 failing scripts are all failing due to just 3 specific steps, it becomes very easy and fast to fix and rerun.Create Virtual Machines with AWS Cloud Formation
If you have large suites of tests and multi machine playback is needed, it may be necessary to create Windows instances on the cloud with various browsers installed on them. We have made this task simple by providing a AWS Cloud Formation Template through which Master and Worker Nodes can be configured and created easily with popular browsers and Sahi Pro runner installed on them. This eases the devops tasks needed to get a working cloud execution environment up and running. This feature is elaborated over here.Mobile Automation integration with AWS Device Farm
While the above cloud environment helps with the browser and desktop automation tasks, testing on mobile also needed attention. Apart from local machines with tethered mobile devices, Sahi Pro now integrates with AWS Device Farm on the cloud. This makes testing multiple mobile OSes and Devices much more manageable.Automatic thread allocation during playback
We have added automatic thread allocation during playback. Sahi Pro chooses how many threads of browsers etc. to run on a Node based on the CPU load on that machine. This prevents overloading a specific machine. Overloaded machines can lead to unresponsive scripts which eventually abort.Prevent unauthorized remote access
We have also made Sahi Pro more secure by preventing unauthorized access from other computers. Restrictions can be made via login/password and also IP based filtering. Refer here for details.Updating Sahi Pro is now easier
While working with remote Nodes, updating Sahi Pro versions, modifying configuration and adding support jars/patches needed one to go to individual nodes and update them.- From 9.0.0 most configurations are automatically synced.
- Custom jar files may be used in your project to read PDF files or connect to SSH. Addition/deletion of custom jar files need a restart of Sahi Pro, so they need to be explicitly synced. Through the Update Sahi Pro web UI, custom jars can be added to the Sahi Pro classpath and synced to all required nodes. Sahi Pro will automatically restart if needed.
- It is now possible to update Sahi Pro to the latest minor or major version via the web UI. Patches from Sahi Pro's Support team can also be applied via this UI making it easy to apply changes on multiple machines. This should further reduce the effort of the IT/DevOps teams.
Additional notes
- Version 9.0.0 release also offers an enhanced Desktop automation Add-on, Mobile Automation Add-on and an all new Add-on for SAP GUI Automation.
- This version of Sahi Pro should be easier to use, consume lesser time, automate better and support more technologies.
New APIs
- _isEdgeNew: It identifies new Microsoft Edge browser version 79.0.309 and above.
- _setFile3: File upload is now simplified with this API as user is not required to provide any substitution rule.
- _getHarLogs: It gets the HAR logs accumulated while executing the steps between
_startHarLogging
and_stopHarLogging
. - _includeAR: This API includes Accessor Repository as CSV file.
- _crawlWebsite: This API is used for testing links on a website. Sahi will navigate to all the links and store the information in a csv file.
Bug Fixes and Improvements
- Supports OpenJDK 8 and above versions.
- Improved performance of logs.
- Automatic ssl error fixes on Linux and Mac.
- Major improvements in 401 authentication handling.
- Introduced automatic login using transparent authentication.
- Supported kerberos authentication, persistent NTLM authentication.
- Bug fixes for NTLM authentication with multiple user credentials.
- Refer here for more details.
- Added batch & shell scripts to restart Sahi.
- Bug fixes for JS code coverage.
- Bug fixes and performance improvement in Sahi editor.
- Wireless mobile browser playback can now be triggered from Sahi Controller, Sahi Editor, via Ant, via Maven, via testrunner etc.
- Email sending available for every sub suite finish. Refer here for details.
- Introduced node level tags which can be specified in
prerequisites
column of data driven suite. Refer here for details. - Load testing with different master. Refer here for details.
- Load tests can now be run through ANT. Refer here for details.
- Email sending available for dload and dload different master.
- We can now specify the maximum duration for script/suite execution in
timeout_minutes
column of data driven suite. Refer here for details. - We can now specify the maximum duration for script/suite execution in
timeout_minutes
column of data driven suite. Refer here for details. - Introduced
Avoid Skipping
feature in Advanced Playback Settings. It prevents skipping of dependent script even if the parent script hasFAILED
orABORTED
. - Introduced
Convert To English
feature in reports. It translates the executed script steps into corresponding English phrases.
Known Issues
These are known issues which will be fixed soon as part of a minor update.- Autoheal works only on Browser mode currently
- Changes to mswindows.json and sap.json are not reflected via automatic synchronization with Suite playback. They need to be set on the Node and restarted
- iOS automation sometimes fails randomly when using XCode 11 and iOS 13
info To fix this:
- Use XCode version below 11
- set
ios.delete_derived_data_before_connect=true
in<SahiPro>/userdata/config/userdata.properties
. Note that, with this setting, scripts on iOS can be executed sequentially only.
- In Scenario file, Data Drive using the new Data column is currently only supported for files (csv, xls and xlsx). Database support will be added in upcoming updates or releases.
warning
Refer What's new in Sahi Pro Desktop Add-on v9.0.0 for features in Sahi Pro Desktop Add-on v9.0.0.
warning
Refer What's new in Sahi Pro Mobile Add-on v9.0.0 for features and enhancements done in Sahi Pro Mobile Add-on v9.0.0.
warning
Refer What's new in Sahi Pro SAP Add-on v9.0.0 for features in Sahi Pro SAP Add-on v9.0.0.