Editions Tagged With 'iOS and Android'
26Making Your Appium Tests Fast and Reliable, Part 8: Mocking External Services
One of the most common causes of instability or non-determinacy in tests is due to dependence on external services, like a backend API server. Often, when testing your app it is not really necessary to simultaneously test these backend services, and a 'mock' server can be used instead, which greatly increases both the speed and reliability of your tests.
Published Jul 18, 2018
25Making Your Appium Tests Fast and Reliable, Part 7: Disabling Animations
Animations in mobile apps are part and parcel of the beautiful app experience we've all come to expect. They are, however, completely useless for testing. In this edition of the 'Fast and Reliable' series, we look at how to turn them off completely, or otherwise reduce them to speed up our tests and improve test stability.
Published Jul 11, 2018
24Making Your Appium Tests Fast and Reliable, Part 6: Tuning Your Capabilities
You don't have to settle for 'default Appium'. If you find yourself in a place where you're experiencing issues, or want to try a different operational mode, there are a ton of desired capabilities you can check out that modulate the way Appium works under the hood. You might find that the problem you're experiencing has a well-known workaround in the form of a desired capability you can simply plug into your driver initialization.
Published Jul 4, 2018
23Making Your Appium Tests Fast and Reliable, Part 5: Setting Up App State
Functional tests are kind of slow. It's sad, but it's a fact of life and something we don't need to get too concerned about if we remember that, just as in the Matrix, 'there is no spoon'! We can use a variety of techniques to set up app state directly, without having to automate the UI, so that our UI tests can test only the steps which we actually care about for a particular scenario.
Published Jun 27, 2018
22Making Your Appium Tests Fast and Reliable, Part 4: Dealing With Unfindable Elements
Sometimes, for whatever reason, we need to interact with elements that Appium can't find as elements. What can we do when there's no element to call 'click()' on? Hacky things, that's what we do. But we do the hacky things as reliably as we can.
Published Jun 20, 2018
21Making Your Appium Tests Fast and Reliable, Part 3: Waiting for App States
In this edition of the miniseries on speed and reliability of tests, we examine a very important aspect of writing any functional test: making sure that the app is in the state you expect before you attempt to interact with it. Here we learn how to ensure your assumptions about said state are correct.
Published Jun 13, 2018
20Making Your Appium Tests Fast and Reliable, Part 2: Finding Elements
Continuing a larger Appium Pro series on making tests more robust, in this episode we examine the various locator strategies available within Appium, when to use which, and other approaches and practices to making sure your elements are found and not lost.
Published Jun 6, 2018
19Making Your Appium Tests Fast and Reliable, Part 1: Test Flakiness
In this article we start a series that takes a look at a collection of tips and best practices that all contribute to greater speed and reliability of your Appium tests. First off, we discuss the dreaded concept of test 'flakiness', and how we should approach this concept within the world of Appium.
Published May 30, 2018
17Automating Cross-Platform Hybrid Apps
Hybrid apps contain both native and web components, melded together in some ratio to provide a single unified app experience for the user. With Appium and the various Context commands, it's possible to successfully automate both halves of hybrid apps across both iOS and Android.
Published May 16, 2018
16Automating the Clipboard on iOS and Android
Both iOS and Android allow copying and pasting of text and other types of content. Apps can hook into this native clipboard and provide custom experiences based on clipboard content. Appium gives you special commands to automate the clipboard across both platforms.
Published May 9, 2018
7Speeding Up Tests With Deep Links
Appium tests are full-UI functional tests. They can take a long time to run. It's a good idea to look for shortcuts so that your tests don't have to spend a ton of time setting up state, and can instead focus on just the bare minimum they need to validate. With a little work, you can accomplish this using deep links in both iOS and Android.
Published Feb 28, 2018