If your application needs to authenticate users, you need some way for your automation to know your credentials. You may be providing these credentials in the test script itself. But this could lead to a possible breach of security. E.g: We learnt that BrowserStack keeps logs of every line of code executed. So if you had hard coded your username […]
Don’t hardcode usernames and passwords in your test scripts
Run your API tests in parallel: MapReduce/Python
At a recent client engagement, I used MapReduce to run some API level checks in parallel. It was surprisingly simple and needed me to change less than a dozen lines of code in my tests. Generally MapReduce makes people think they need a farm of servers. But in this case I did it using only my local machine. I was […]
Page Object Model (Selenium, Python)
We have come a long way since our post on implementing the Page Object Model –Implementing the Page Object Model (Selenium + Python) While the above post is useful and we rank high on Google, we routinely hear two criticisms of it: a) the post is too high level b) the application being tested is not very repeatable So we […]
Designing your testing tiers
This post is for early stage startups who have only a production tier and do their testing on their development environment. We have a short checklist of things to consider, some suggestions on evolving your test tiers and finally some advice on dealing with data. A checklist for setting up your testing tier A well designed test tier will efficiently […]
Xvfb plugin for Jenkins
Problem: Error while running Selenium tests via Jenkins on a Ubuntu machine. WebDriverException(“The browser appears to have exited ” selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details. Why this post? We faced this issue when we were trying to run our Selenium tests […]
Introduction to TestRail
Problem: Many Start up companies don’t have their test cases organized TestRail is comprehensive web-based test case management software to efficiently manage, track and organize your software testing efforts. Why this post? Many start ups use google docs or excel to document their test cases. Though the process may be easier and cheaper to maintain, they are not visual in […]
Performance Testing using Gatling
Problem: Common misconception that load testing is difficult. Many testers think performance testing is tough. One of the common reason for it is the lack of knowledge of any performance testing tool. In this tutorial we will learn about Gatling which is an open source load testing framework based on Scala, Akka and Netty and arm our self for load […]
Python and Appium: Scroll through search result table
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 […]
Android and Appium: Press Enter on the soft keyboard
Problem: Use Appium and press ‘Enter’ on the soft keyboard. This post continues our series on intermediate level problems when automating mobile application tests using Appium. We thought of sending a KeyEvent to an input (textbox) element using Appium. Superficially this appears to be trivial, but while writing the script, figured out otherwise. To our surprise, it failed. And there […]
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 […]