Automation Tools
Automation Tools
There are mainly three type of frameworks created by Selenium WebDriver to automate manual test
cases
Here for keywords, we will use Excel files to maintain test cases, and for test data, we can use data,
provider of Testing framework.
Tools
CI/CD
Continuous Integration, Continuous Delivery or Continuous Deployment
“CI/CD stands for Continuous Integration and Continuous Delivery (or Continuous Deployment), it is
about how an Integrated code on a shared repository is used to release software to production multiple
times a day with the help of automation.”
Continuous integration
CI is a software engineering practice in which frequent, isolated changes are immediately tested
and reported on when they are added to a larger codebase
Continuous Deployment
Every change goes through an automated pipeline and a working version of the application is
automatically pushed to production.
Continuous Delivery
Helps to build a verified version of the software by continuously implementing fixes and
feedback until finally, you decide to push it out to production.
Continuous Delivery --------> IRCTC closes its server (under maintenance) for upgrade
Continuous Deployment ---------->Amazon service which works all around the hour
Jenkins
Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD)
automation software DevOps tool written in the Java programming language. It is used to implement
CI/CD workflows, called pipelines
Git is a DevOps tool used for source code management. It is a free and open-source version control
system used to handle small to very large projects efficiently. Git is used to tracking changes in the
source code, enabling multiple developers to work together on non-linear development
Commands
1. Git clone
Git clone is a command for downloading existing source code from a remote repository (like Github, for
example). In other words, Git clone basically makes an identical copy of the latest version of a project in
a repository and saves it to your computer.
There are a couple of ways to download the source code, but mostly I prefer the clone with https way:
2. Git branch
Branches are highly important in the git world. By using branches, several developers are able to work in
parallel on the same project simultaneously. We can use the git branch command for creating, listing
and deleting branches.
This command will create a branch locally. To push the new branch into the remote repository, you
need to use the following command:
Deleting a branch:
3. Git checkout
This is also one of the most used Git commands. To work in a branch, first you need to switch to it. We
use git checkout mostly for switching from one branch to another. We can also use it for checking out
files and commits.
There are some steps you need to follow for successfully switching between branches:
The changes in your current branch must be committed or stashed before you switch
The branch you want to check out should exist in your local
There is also a shortcut command that allows you to create and switch to a branch at the same time:
This command creates a new branch in your local (-b stands for branch) and checks the branch out to
new right after it has been created.
4. Git status
The Git status command gives us all the necessary information about the current branch.
git status
5. Git add
When we create, modify or delete a file, these changes will happen in our local and won't be included in
the next commit (unless we change the configurations).
We need to use the git add command to include the changes of a file(s) into our next commit.
git add -A
When you visit the screenshot above in the 4th section, you will see that there are file names that are
red - this means that they're unstaged files. The unstaged files won't be included in your commits.
Important: The git add command doesn't change the repository and the changes are not saved until
we use git commit.
6. Git commit
This is maybe the most-used command of Git. Once we reach a certain point in development, we want
to save our changes (maybe after a specific task or issue).
Git commit is like setting a checkpoint in the development process which you can go back to later
if needed.
We also need to write a short message to explain what we have developed or changed in the source
code.
7. Git push
After committing your changes, the next thing you want to do is send your changes to the remote
server. Git push uploads your commits to the remote repository.
However, if your branch is newly created, then you also need to upload the branch with the following
command:
or
8. Git pull
The git pull command is used to get updates from the remote repo. This command is a combination
of git fetch and git merge which means that, when we use git pull, it gets the updates from remote
repository (git fetch) and immediately applies the latest changes in your local (git merge).
This operation may cause conflicts that you need to solve manually.
9. Git revert
Sometimes we need to undo the changes that we've made. There are various ways to undo our changes
locally or remotely (depends on what we need), but we must carefully use these commands to avoid
unwanted deletions.
A safer way that we can undo our commits is by using git revert. To see our commit history, first we
need to use git log -- oneline:
Then we just need to specify the hash code next to our commit that we would like to undo:
After this, you will see a screen like below - just press shift + q to exit:
The advantage of using git revert is that it doesn't touch the commit history. This means that you can
still see all of the commits in your history, even the reverted ones.
Another safety measure here is that everything happens in our local system unless we push them to the
remote repo. That's why git revert is safer to use and is the preferred way to undo our commits.
Git merge basically integrates your feature branch with all of its commits back to the dev (or master)
branch. It's important to remember that you first need to be on the specific branch that you want to
merge with your feature branch.
For example, when you want to merge your feature branch into the dev branch:
git fetch
Hint: Make sure your dev branch has the latest version before you merge your branches, otherwise
you may face conflicts or other unwanted problems.
Docker
Docker is platform used to containerize your software, using which you can easily build your
application, package them with dependencies required for your application into the container and
futher, these containers are easily shipped to run on other machines.
Kubernetes
Kubernetes is a container management system developed in the Google platform. It helps you to
manage a containerized application in various types of physical, virtual, and cloud environment.