Modern testing for modern stacks

Our blog posts on automation

We've written a lot of high quality guides on automation and tools. We cover unit testing, API automation, performance testing and GUI testing for web and mobile applications. All the tutorials have code snippets and work on applications that you can sign-up/download for free. The tutorials range from beginner level to advanced examples. So this page is useful for you whether you are new to automation or are looking for some advanced tips.

I. GUI automation

1. SELENIUM, PYTHON AND THE PAGE OBJECT MODEL Intermediate
This post will show you how to use Selenium and Python to implement the Page Object pattern. We wrote this for people already familiar with Selenium and Python but need help making their test scripts more robust.

2. BATMAN AND PAGE OBJECTS Beginner
We have taken the creative route to explaining the page object pattern. If you are new to the page object pattern, start here. No code, just the concept and nananananananana ... BATMAN!

3. HOW TO WRITE ROBUST XPATHS Intermediate
Every tester I onboard knows how to write xpaths but the xpaths are not robust. Poor xpaths cause automation to fail often and in turn give Selenium a bad rep. This post will teach you how to write robust xpaths.
Looking for good advice on CSS selectors? Someone else wrote this piece much better than we could!

4. MOBILE AUTOMATION: GET STARTED WITH APPIUM ON AN EMULATOR Beginner
Stop fearing mobile automation! Its easy to get started. This tutorial is ideal for rank beginners and has helped many testers start with Appium and mobile automation.

5. MOBILE AUTOMATION: SELENDROID Beginner
This tutorial is aimed at rank beginners. We will show you how to get setup with an Android emulator and how to use Selendroid. Our best guess is that Appium is going to be the default choice for mobile GUI automation. But it does not hurt to know another technology.

6. MOBILE AUTOMATION: APPIUM, PYTHON WITH PHYSICAL MOBILE DEVICES Beginner
This tutorial will show you how to run your Appium tests against real, physical Android devices. This step by step guide is perhaps the most popular tutorial we have ever written!

7. MOBILE AUTOMATION: IDENTIFYING UI ELEMENTS Beginner
We have Firebug and xpather to identify UI elements in web applications. Ever wondered what the equivalent was for mobile apps? This blog post is a comprehensive guide showing different ways and tools to identify UI elements in mobile applications.

8. MOBILE AUTOMATION: RUNNING AUTOMATION ON MULTIPLE DEVICES Advanced
Make your mobile automation more robust! This tutorial will show you how to run the same test against a range of devices and OS versions.

9. MOBILE AUTOMATION: PINCH, ZOOM AND SWIPE! Intermediate
Learn how to perform gestures using Appium and Python.

10. MOBILE AUTOMATION: SCROLLING THROUGH TABLES AND SEARCH RESULTS Advanced
In this post we show you how to scroll through a table and identify elements. We also tackle the case where the table spans multiple pages. This is a natural and common workflow on most mobile devices. A typical use case involves the user performing a search within a mobile application. The app returns a table of results. The user then scrolls through the results and clicks on the result she likes.

II. API testing

1. USING DEVELOPER TOOLS LIKE A PRO Beginner
Learn to use developer tools like a pro! Inspect the API calls being made by your applications over the network. This post forms the basis for writing more complex API tests.

2. GUI BASED TOOLS FOR API TESTING Beginner
An overiview of GUI based tools you can use for API testing. We explore the popular Postman REST client in depth.

3. WRITING API TESTS USING MECHANIZE AND PYTHON Intermediate
We use a Python module called Mechanize to write robust API tests. Mechanize is like a browser that will do header and cookie management for you. Mechanize can get past most authentication servers - which makes it easy for you to get started with API testing. But it cannot render JavaScript like a real browser can - so its very lightweight. This makes it an ideal tool to use for API testing especially when your APIs are not very clean.

4. PYTHON MECHANIZE: AN ADVANCED TUTORIAL Advanced
For all the great things Mechanize does well, it does have some glaring holes. Like no out of the box support for PUT, DELETE, PATCH methods. So we dug into the source code and figured out how to fill out these holes. And we shared our solution on Stack Overflow and in this post.

5. AN INTRODUCTION TO RUNSCOPE FOR API TESTING Beginner
Runscope is a powerful tool to help you quickly get started with API testing. Runscope has a user friendly web interface. It also allows you to perform advanced variable manipulations and complex assertions in your tests via scripts. You can also schedule tests to run regularly and receive notifications. When it comes to API testing, Runscope makes the easy things easy and the hard things possible.

6. CAS AUTOMATED LOGIN USING PYTHON MECHANIZE Advanced
One of the hard things about using APIs as part of automation is to figure out how to login to the applications. CAS is one of the best known and hardest to crack authentication servers. We have written up a tutorial on how to login to a CAS server using Python and Mechanize.

III. Unit testing

1. PYTHON UNIT TESTING Beginner
New to unit testing in Python? We explore the Python module mock, show you a detailed example of unit testing on an open source application.

2. JUNIT TUTORIAL FOR BEGINNERS Beginner
A JUnit tutorial written specifically for absolute beginners. We show you every step - right from getting started with Eclipse to how to debug test failures.

3. TestNG TUTORIAL Beginner
We wrote this post for testers who want to get started with TestNG. You will learn about some popular annotations used in TestNG. We also show you how to parameterize your automated checks.

4. JavaScript UNIT TESTING WITH JASMINE Beginner
This post will teach you to write JavaScript unit tests using Jasmine in under 60 minutes. This tutorial is aimed at absolute beginners.

5. ANDROID UNIT TESTING Beginner
There are not many good tutorials on Android unit testing. In this tutorial we will walk you through two examples. One example showing you how to use the Android testing framework. Another example showing you how to use Robolectric.

IV. Performance testing

1. JMeter TUTORIAL Beginner
A fantastic video to get started with JMeter in less than 30 minutes. Saurabh covers a whole range of JMeter topics like installation, test plans, thread groups, configuration elements, samplers, assertions, listeners, handling parameters and a whole host of JMeter gotchas.

2. GATLING TUTORIAL Beginner
In this tutorial you will learn about Gatling which is an open source load testing framework based on Scala, Akka and Netty and arm our self for load testing.

paper cut