What is Compatibility Testing?
Compatibility testing is a non-functional test to ensure that an application’s compatibility within different environments such various web browsers with various versions, Operating Systems (Windows, Linux, Mac…). In order to pass this test, we also need to check Forward and Backward Compatibility. Here i’m using Browserstack to perform Compatiblity testing.
BrowserStack allows users to make manual and automation testing on different browsers and operation systems.To execute your test scripts using BrowserStack, you need to set parameters of Browsers and Platforms.
There are few steps to be followed to integrate Selenium with BrowserStack.
What is Saucelabs?
Sauce Labs is a cloud platform for executing automated and manual mobile and web tests. Sauce Labs supports running automated tests with Selenium WebDriver (for web applications) and Appium (for native and mobile web applications).
Why do we need Saucelabs?
Straight forward answer : Browser Compatibility. We need to test all our testcases in various versions of browsers and various platforms too. We can’t install all those stuff in our local box. Now this Saucelabs plays a major role.
Framework: It is a set of Guidelines designed by an Expert in a generic way to accomplish a task in an effective and efficient manner.If you are using selenium webdriver and wants to create Keyword Driven Framework from scratch then follow bellow given steps.It will guide how to create hybrid framework .
Keyword Driven Framework is one of well known automation framework and extensively used in various service offering companies. Keyword Driven Framework also known as table-driven Framework or action word based framework.Here we’ll use some keywords as the driving parameters in data driven testing the data sheet. The keywords will be defined by the user, and let’s call them user defined keywords.The highlighted text in the below screenshot are the keywords.
TestNG allows us to group several tests together. You can group certain tests based on what behavior/aspect they are actually testing. You may have a scenario where few tests belong to a certain group(say Regression) and other ones belong to other group(say Sanity) and yet another one belong to other group(say Login). With this approach you may decide to execute only certain group of test and skip other ones(let’s say there was a regression on related code, so we prefer to only execute Sanity related tests).The group test is a new innovative feature in TestNG, it doesn’t exist in Junit framework
Cross Browser Testing : Is to check that your web application works as expected in different browsers.If we are using Selenium WebDriver, we can automate test cases using Internet Explorer, FireFox, Chrome, Safari browsers.To execute test cases with different browsers in the same machine at same time we can integrate TestNG with Selenium WebDriver.
Lets execute your testcases using testng.xml. This is really helpful when you would like to execute only desired testcases,browser compatibility / parallel testing.
Create a java class file name Testng.java
A TestNG testsuite comprises of number of tests. A TestNG ‘test’ comprises of one or more classes, and a TestNG class consists of multiple ‘Test Methods’.
Here i’m sharing a sample code for the following testcases.
Testcase 1 : Verifying Sign-On link
Testcase 2 : Get the source code
TestNG is an open source automated testing framework. TestNG is similar to JUnit but it is much more powerful than JUnit with advanced annotations.
Advantages of TestNG :
Test cases can be Grouped & Prioritized more easily.
In general when we Instantiate a Firefox Webdriver, the extensions(firebug,firepath) would not be added in that browser. In order to add them we can set firefox preferences by downloading XPI’S.
Here I am trying to monitor system usage and the performance with different browsers which we use in selenium (Firefox,Chrome,Headless Browser).Just to know how it works.Generally we never use this method.