As organizations move towards Agile development methods, ever-increasing functionality comes at a cost of software complexity that grows over time in ways we may not expect and at an ever-increasing pace. Testers are expected to work with developers actively throughout the iteration to test new features, but what about the features from previous iterations? Test automation can serve this purpose in ensuring that new, as well as the old functions, will perform as required and expected. Additionally, manual testing just can’t keep up as platform configurations have proliferated beyond imaginable. To focus our expertise and experience, XBOSoft chose to provide Selenium Software Testing as a strategic platform for test automation on web-based platforms, complemented by Appium on mobile platforms. Over the years, we’ve developed many selenium testing frameworks that facilitate cross-browser testing and regression testing.
Why Open Source?
Many companies and users got their first taste of open source software through the Linux operating system. Over the years, open-source code dramatically expanded to provide options for all users in almost all areas of development and software testing. There are numerous benefits to open source software beyond the “free” price. A few that come to mind are, higher quality, transparency of code base and updates, the freedom to customize, interoperability options among other technologies, and last but not least, a vibrant support community that generally ensures that the platform is up to date and incorporating new technologies while troubleshooting any issues and incompatibilities that arise.
Why Selenium Software Testing?
Selenium has had a very active developer community for over a decade. It allows developers to write scripts in a number of popular programming languages, can be used in a variety of Selenium IDEs, and supports testing frameworks such as JUnit and TestNG. This flexibility allows QA engineers to get up and running with Selenium quickly using languages they are already familiar with, without the need to develop an extensive new skillset. Selenium can be configured with a variety of Web Drivers to simulate different browsers for cross-browser testing (e.g., Chrome, Firefox, Safari). It can also be integrated with add-on test development tools including (e.g., Maven w/ Jenkins) to support continuous integration, customized report generation, and distribution.
Our experience with the Selenium Automation Testing Tool has been a long and winding road as our efforts with Selenium have not always been easy. While we’ve designed and implemented many testing frameworks that have provided significant improvements in script execution speeds and script maintainability, we’ve learned many lessons that we keep in our knowledge base to ensure that our Selenium scripts and frameworks will be useful near-term as well as long-term. Some of these key lessons include:
Optimizing flexibility and efficiency while integrating with other key development and continuous integration tools (e.g., Jenkins).
Solving compatibility issues between the Selenium WebDriver and the specific browser drivers created by outside parties (e.g., ChromeDriver is maintained by the Chromium project) that can often lead to crashes.
Locating an element, irrespective of the type can be unreliable and we’ve learned many techniques in identifying elements and objects in the ‘best’ way given the context.
Understanding where the Selenium automation testing is most capable, such as web application testing, regression testing, and cross-browser testing, and where it is not ideal, such as working with Windows controls (e.g., file operations/dialog box) that can sometimes occur when executing scripts and how to ‘work around’ these problems.
When running into issues like the ChromeDriver crash and other issues associated with test frameworks, we have been very successful in rapidly developing solutions to mitigate problems. This is one of the main reasons that we like Selenium for developing a testing framework – it is very flexible. Specifically, by extending TestNG, we have created a specialized framework that allows us to customize and optimize our test script development workflow while ensuring maintainability and robustness.
We truly believe that the key to our success is our talented team that is well experienced and suited to working with the Selenium software test framework solution. Our team possesses hundreds of years of combined test experience, and the Selenium Framework has proven an excellent, flexible instrument for us to develop and execute automated tests. Through our experience, we have mastered Selenium and enhanced our Selenium testing services by customizing and extending the TestNG framework. In addition, we have also customized our configurations to support, for example, new reporting functions allowing us to feed Jenkins test results back into a client’s Test Case Management system of choice.
Take advantage of the many benefits of open source software and implement a Selenium-based test automation framework.
Get quick start-up benefits with XBOSoft, with years of experience under our belts, in solving complex selenium issues and adapting to many customers’ requirements.
With XBOSoft’s expertise, get a Selenium automation testing framework that lasts and will grow with you with optimal maintenance effort.
Rapidly increase your test automation coverage and improve your software quality.
Complement your manual regression testing efforts by automating repetitive test tasks and thereby increasing the time for exploratory testing, cross-browser testing, and more.
Solving Selenium Common Issues – Tips and Tricks
At XBOSoft, we create an optimized automation framework for each client using Selenium. Over the years, we’ve discovered that while Selenium may have a very active support community, that does not guarantee that finding a solution will be easy. One of the most common issues we’ve run into is object recognition. This white paper includes:
Why we use Selenium, and what benefits it offers
How to recognize its weaknesses and examples of using XPath axes to locate elements in Selenium WebDriver
How using XPath axes makes for better-automated testing
Identifying XPath’s weaknesses, and showing solutions we’ve come up with
Based in Ontario, Canada, Mitel is the world’s fastest-growing provider of cloud communications, making more than 33 million cloud connections daily. Mitel serves more than 60 million users in more than 100 countries. XBO began providing testing services in 2010 to Benbria, at the time a small start-up whose product division was acquired by Mitel in 2016.
Today, XBO provides a range of testing services including API Automated Testing and Selenium Automated Testing. To learn more, please read our Mitel Case Study.