Python Appium tests on different Android versions

Problem: UI element identifiers are not consistent across mobile platforms. Mobile is eating the world. However mobile operating systems are not yet fully mature. For example, UI element identifiers change between versions of the same OS. They also look different across Android and iOS. This causes automation scripts to be brittle. We hit this problem recently. We were writing automation […]

Android unit testing: Android testing framework and Robolectric

Problem: There are not many good tutorials on Android unit testing Android applications are written in Java. So you probably think if you know JUnit, you can unit test Android applications. Surprise! JUnit is not sufficient for unit testing Android applications. Junit works when the code runs within a JVM. Android applications interact with the Android OS. So you need […]

Ways to identify UI elements in mobile apps

Problem: Many testers do not know how to identify UI elements in mobile apps. In this post, I explain about different ways to find UI elements in Android’s calculator app. I also show you examples of using Appium’s API with the different locator strategies. Why this post? Identifying UI elements is a key component of writing UI automation. Most testers […]

Appium tutorial: Execute Python tests on mobile devices

This Appium tutorial will show you how to run automated tests on a real physical device. We estimate skimming through this post will take you 10 minutes. We estimate working through this post, step by step, will take you about 90 minutes. In this post we will cover getting setup with Appium, interfacing with real devices, writing and running Appium […]

BrowserStack configuration for Selenium automation

BrowserStack has a number of useful configuration options. In this post, we will show you how to make your automated test runs to use specific configuration parameters of BrowserStack. We walk you through the steps needed to modify your existing automated test runs to use specific configuration parameters of BrowserStack. We assume you have a BrowserStack account. If not, please […]

Understanding Python decorators

Problem: Some testers shy away from unit testing because they are uncomfortable with the concept of annotations. Why this post? We often stop learning a topic when we need to apply a concept that we are not fully comfortable with. I noticed this pattern in testers when it came to unit testing. A lot of unit testing frameworks, like JUnit and […]

Python unit test integration with Jenkins

Problem: Jenkins is still somewhat of a black box to testers. This post is for the hands on tester looking to integrate their Python unit tests with Jenkins. Why this post? Jenkins is an extremely popular continuous integration tool. Jenkins is often setup and maintained by the development team or I.T. team in many companies. Testers know about Jenkins but […]

Get started with BrowserStack: Part I

Problem: Maintaining infrastructure for Selenium cross browser checks is time consuming. At Qxf2 Services, we use Selenium and Python for UI testing of web applications. Recently, we evaluated using BrowserStack to run our automated checks against different browsers. BrowserStack gives you access to all desktop as well as mobile browsers anytime and from anywhere. It gives instant access to 300+ […]

Python unit tests using mock

Problem: Introductions to Python unit checking are too basic This post is for the hands on tester looking to practice their unit checking skills. Why this post? Unit checks are good. They play an important role in your regression suite. Online tutorials of Python unit checks invariably leave me wanting more. The examples covered are extremely basic. Further, these basic […]