Selenium is an open source access methods that supports test automation via browsers to web based applications.
Tests written using Selenium API can be written in a variety of languages such as C#, Java and Python.
When using Microsoft Azure DevOps, test automation is easily integrated into your DevOps Build and Release pipelines by including C# based test automation using Selenium.
TestPro Selenium Framework
The TestPro Selenium Framework is a comprehensive wrapper for the Selenium API that provides extensive value added services and improves the reliability and usability of the Selenium API to test writers.
The key features of the TestPro Selenium Framework are:
- Error Handling – the use of most Selenium APIs “should” be used within a try/catch block in order to manage errors, trigger retries or invoke special workarounds. The framework implements this consistently.
- Viewport Management – before a control such as a button can be clicked the control must be brought into the rendering viewport of the browser. This is a fundamental Selenium requirement and applies especially to long pages or pages rendered on small devices. As a human you would scroll to a control, as a test you cannot. The framework does the job of bringing the control into the viewport when required.
- Logging – the Selenium Framework includes a comprehensive logging mechanism of all framework events that is invaluable for test diagnostics.
- No Positional Data – the Selenium Framework makes it easy to identify the controls and elements needed to drive the test. No positional information is ever used.
- No Waiting – Often testers pepper their scripts with wait or sleep commands to take account of timing “issues”. This is rarely the case with the Selenium Framework as there is automatic “sense and retry” built into its lowest layers. Tests are easier to write and debug when they work without needing to worry about technical timing issues.
- Locators – Selenium locators are one of the more confusing aspects of using Selenium to identify DOM elements. The Selenium Framework mechanism does not require the use of locators at all. Selenium element identification mechanisms are handled internally by translating all DOM location logic into XPath. The XPath spec that is generated and used is available in the log and can be pasted into the Chrome Dev console for diagnostic use.
Appium is an access method compatible with Selenium that gives access to testing browser based application on mobile devices.