Welcome to Building the Test Automation Framework. A 6 part course that takes you step by step through the process of building a test automation framework. A test automation framework we’ll build completely from open source tools. Each of the 6 modules is a short course in it’s own right. Each module covering tools like; Amazon Web Services, Jenkins, Selenium, Git, SoapUI and JMeter.

When we’ve finished we’ll have a distributed test automation framework. A framework based on the principals of Continuous Integration and Devops. This is about building a framework at the system level that gives you the platform to automate much of what you need to do on a day to day basis.

To build this platform we have a series of 6 modules to get through. You’ll be learning about putting together the following Open Source and free components to build an automation rig:

Amazon Web Services: the platform we’ll use for building out our
windows and unix test automation environment.

Jenkins: the continuous integration tool we’ll use to build the
application under test and trigger all our automated test actions.

Selenium: the test automation tool we’ll use to run our GUI browser based automation tests.

SoapUI: the test automation tool we’ll use to run our API based automation tests.

Git: the source code tool we’ll be managing and retrieving the source for our application from.

JMeter: the load test tool we’ll use to asses the performance of the application under test.

At the end of all 6 modules YOU will have built this…

You don’t need to know anything about any of these tools to follow these tutorials. Each of these 6 modules will provide the key details you need to understand how the tools work. The important point is that you’ll learn how to bring these tools together to create a working test automation framework .

All the machines will be hosted in the cloud with AWS. This makes it easy for you to replicate the system using exactly the same hardware and software we’ve used in these tutorials. Jenkins will act as the control tool. We’ll cover the build process for the application under test and focus on how Jenkins can control our machines in this test environment.

Selenium will be used to run a range of browser based tests on different platforms. Again the focus is not so much on how to use Selenium, more on how to pull Selenium into a fully featured test system. SoapUI will be trigger to run REST based API tests. JMeter kicked off to give us some feedback on application performance.

With Git we’ll be using an existing source code repository hosted on GitHub. GitHub contains the source for our application under test. To start out we’ll just pull down the source, build and then deploy the application. As things progress we’ll look at how to trigger builds, deploy and execute tests based on code check-ins.

What are we going to test?

We’ve chosen an open source web based chat application called Rocket.Chat. This is a cross platform, multi browser, iOS, Android and Windows chat application. A decent feature set enabling us to build out a full featured automation rig. More on the Rocket.Chat application here…

And that’s it. We’re starting out with nothing. By the end we’ll have an integrated test environment using many of the biggest open source test tools available. In the first module, up next, we’ll look at Amazon Web Services. By the end of the second tutorial you’ll have automated the Rocket.Chat install. Then with the third and forth modules you’ll have a range of GUI and API tests in place. In the fith module we’ll be triggering tests from source code check-ins. And, finally, in the last module we’ll be kicking off our performance tests with JMeter.