Cloud Testing: Using Selenium to Test Mobile Web Apps in the CloudCigniti Technologies
Today’s Software applications are mostly web based and with the Cloud infrastructure gaining prominence, they are mostly deployed on Cloud servers. Cloud infra offers unlimited storage, quick availability and can be scaled as desired. With no upfront investment, cloud is turning out to be the really cost-effective solution offering multiple choices for software developers. The way testing is done has also changed with this disruption as organizations need not build and maintain in-house testing facilities that mimic real-time environments.
Cloud-based Testing has emerged as the best way of testing with a compelling combination of lower costs, pay-per-use models, scalability and flexibility it offers. It can also address the ramping demands for sophisticated test environments.
As the number of mobile Oss, browsers and platform combinations are growing, it is getting difficult to test the mobile apps on the possible real time combinations. Applications are now becoming dynamic, complex, distributed and component-based, creating a multiplicity of new challenges for testing teams. And the Cloud-based test automation has emerged as the potential savior. Testing in the cloud leverages the cloud computing infrastructure, reducing the unit cost of computing, while increasing testing effectiveness.
Selenium is unarguably the most widely used open source solution to meet the needs of your testing project. Selenium can be successfully used with cloud services to test mobile apps across multiple browsers and platforms. Selenium interacts with web browsers to test actions, inputs, and expected outcomes to improve device and platform coverage.
If you are using Selenium, then you know that it is difficult to provision, run, and maintain your own set of machines and setting up something like Selenium Grid to coordinate tests across them.
Sauce Labs is one of the good solution which lets you execute tests recorded in Selenium on a cloud-based emulation system across multiple devices, browsers, and platform configurations. It is important to develop mobile application tests with extensive coverage—and minimal test script maintenance which is what cloud ensures. Saucelabs can be optimized for testing in a continuous integration workflow with a focus on reliability and scale. By running tests concurrently on Cloud, you can keep your build quick without sacrificing coverage.
A typical Saucelabs test on cloud runs something like this:
- Open a specified browser in Sauce Labs
- Test runs
- Browser closes
- Test results (along with a video recording, screenshots, and other debugging information) are available on the job dashboard
So if you are looking to run the selenium tests completely in the Cloud then you need to have a CI tool like Jenkins or Travis to set up your tests. You can then configure CI with Sauce to run your Selenium tests.
I have also found an interesting tool called Nerrvana which you can try. It claims to record in Selenium IDE and run in the Selenium cloud.
Moving testing to the cloud is something which should be discussed with all the stakeholders and a proof of concept should be done before going full fledge into cloud testing. It is more of a cultural and process shift which should be handled while moving to cloud. A proper ROI analysis before moving ahead can let you identify the range of benefits which cloud testing can deliver.
Selenium comes as a proper fit for cloud based testing because of its open source nature. You can either setup your own selenium grid in cloud or use something like sauce which is an off the shelf solution.
Selenium can be easily setup on Amazon EC2. You need to create Amazon AWS and EC2 accounts and create web service access keys and setup environment and install Selenium Grid.
The cloud-based testing comes with lot of resource flexibility and reduced security concerns, compared with the issues organizations face when considering placing production data and applications in the cloud. As an organization, you need to asses whether you will be using a public cloud or the private cloud based on your needs.
Cigniti is an experts in using Selenium IDE, RC and WebDriver / Selenium 2 for test automation of Web and Mobile Applications. We have leveraged Selenium for various clients and deployed the Selenium Grid on the cloud integrating it with Continuous integration tools for successful test automation of mobile apps. If you are looking for Selenium testing services, feel free to drop us a message and we will be glad to assist you.