In this post, we will explore all the tools for QA purpose along with selenium automation.
For writing selenium automation scripts, first we have to download the selenium tools from the selenium official site then we have to integrate that jar file with Our IDE like eclipse or Intellij.
The basic selenium jar, is written pulrely on javam, so it is mandatory to have JVM instaled in your system.
Selenium jar not only helps to write the script but also it is involved with cerating Selenium grid. Grid is nothing but Master and slave concept, in which one machine called Hub controls multiple machines called as Nodes.
TestNG is one of the unit testing Tools used for QA along with selenium.
TestNG is the Testing framework that provide various feature to execute test by
@Test and many other test annotation.
TestNG provide the capability to execute test in various manner like execute in groups, in Parallel, In sequential etc. So Basically TestNG is the test execution framework and you can use TestNG for any kind of testing like functional, Unit,Regression, Database and Api testing.
So by the combination of using TestNG and Selenium, We can do various task in functional testing, like in beforeclass or beforetest method we are adding the selenium code for open browser and in afterclass or aftertestmethod we are using selenium code for close the browser.
Junit is a tool/libraryJunit is a tool/library like TestNG used for unit testing purpose, we can either use Junit or TestNg but not both at a same time
JUnit is a testing framework which does the assertions provided actual and expected results.
Using both sets the platform for doing UI Automation Testing. Selenium plays with the browser dom elements and JUnit does the assertions.
Jenkins is a Continuous Integration server for QA/dev with selenium
Jenkins is a continuous integration server (continuous integration server is the practice of running tests on non-developer machine automatically every time when new code is pushed into source repository).
It is written in Java. It provides many plugins that help to support building, deploying and automating any project. It can be installed through native system packages, Docker or even run standalone by any machine with the help of JRE (Java Runtime Environment).
It automates multiple tasks including building, testing and delivering software.
Bamboo is smilar to Jenkins but bamboo is paid tool
Apache Maven is a build and dependency management tool that is used for the Java applications development. Maven is most popular dependency manager and build tool used among the Java developers.
Dependency manager is to manage all dependencies (JAR files) for project and that dependencies going to be saved on your project.
When you start another project you should manage your dependencies again. This will eliminate you to manually search and find the dependency projects.
Bitbucket is a system for hosting version control repositories owned by Atlassian. It is a competitor to GitHub.
Version Control Systems are tools which help manage the code for a project as it changes over time. They allow past versions of the project to be saved in case new changes break things.
They also have quite a few other features and are often quite complex but as a simplification you can think of them as a way to backup code and share it between different people.
Git is intermediate tool which connects the remote repository with Local system, also manages the local versions of out code. This can be used with Slenium for QA code push purpose
JIRA tool is required if you want to plan, manage and track your work while working on a project. JIRA lets you do various various tasks such as assign, prioritise, review etc.
Using the features in the JIRA tickets, you can get an estimate on how much work has been completed on a particular issue, how much work is left which can help you in providing the clear picture of the state of your project.
AutoIt is a windows automation tool used along with Selenium for automation the window based popups along selenium.
To automate windows proccesses that you cant reliably write a normal script for like an install wizard or logging into multiple accounts at once.
The language isnt incredibly useful but you can likely pick it up in a couple hours and can be fun to use.
Sikuli is an automation tool used for QA purpose with Selenium. It will perform click and set the value and other operation based on the image we supply.
If we automate our application with sikuli, then we cannot expect it work for longer than a month, beacuse small color change will affect the image.
Extent Report is nothing but an HTML reporting library that comes loaded with tons of features that make reporting a lot much better. It retains these awesome execution reports that are not only great to look at but they are also quite useful.
Article is written by Pavan (a) KarthiQ. Well, I am serving notice period in an MNC, Bangalore. I thought to enrich every person knowledge a little, I always have a feeling, when we teach something, we will learn more than what you know.
Knowledge is the only thing that doubles when you spend it.
I have also created the reporter for Protractor Jasmine. Use for your projects without any hesitation