Why this post? In this post, we are going to look into, how to test an iOS app with Python-based testing framework using appium. This is a step by step procedure, right from building an app, writing a test for iOS app in Python using Qxf2 test automation framework and then actual testing of app with Appium on Mac OS […]
Build and Test iOS app with Qxf2 Framework and Appium.
Qxf2’s automation testing framework uses Python 3
We have updated our open-sourced GUI automation testing framework to use Python3. This update was due for a long time. We have had a lot of requests from people asking for our framework to use Python3 and we finally found the bandwidth needed to migrate to Python3. We will also no longer support Python2. If you already use our framework […]
Qxf2 has open sourced a Python-based automation testing framework
We have open-sourced our test automation framework. You can now write Selenium and Appium tests in Python using the Page Object pattern. Our Pythonic web, mobile and REST API test automation framework will help you get started with QA automation quickly. It comes with many useful integrations like – email, Slack, TestRail, BrowserStack, Sauce Labs, etc. You can find it […]
Get Set Test an iOS app using Appium and Python
It has been more than a year since I wrote my first blog on mobile automation using Appium for Android applications. There were many requests to come up with a similar blog for iOS applications. But due to time constraints I couldn’t get to it. But as they say, better late than never! I finally have a guide to help […]
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 […]
Pinch, Zoom and Swipe using Appium
Problem: Documentation on automating mobile gestures is not extensive. In this post, we show how to automate mobile gestures like tap, swipe, pinch and zoom using Appium. Why this post? I watched Steve Jobs introduce the iPhone back in 2007. Among the jaw dropping moments were using the best stylus ever invented (our fingers) and the multi-touch pinch-to-zoom feature. Mobile […]
What is NAF ?
UIAutomatorViewer is a tool to inspect and identify UI elements in Android apps. However not every UI element you see is accessible to UIAutomatorViewer. Sigh. I know. That sucks. But at the very least, UIAutomatorViewer lets you know which of these elements are not accessible. I was messing around with Appium and DroidFish secretly hoping to write an automated test […]
appWaitActivity: A new session could not be created
While exploring Appium with mobile devices I hit the following error WebDriverException: Message: u’A new session could not be created. (Original error: atpwta.live/.activity.Main never started. Current: atpwta.live/.activity.root.TournamentList)’ Initially, I had set desired capabilities to: desired_caps[’platformName’] = ‘Android’ desired_caps[’platformVersion’] = ‘4.4’ desired_caps[’deviceName’] = ‘Moto E’ desired_caps[’appPackage’] = ‘atpwta.live’ desired_caps[’appActivity’] = ‘.activity.Main’desired_caps[‘platformName’] = ‘Android’ desired_caps[‘platformVersion’] = ‘4.4’ desired_caps[‘deviceName’] = ‘Moto E’ desired_caps[‘appPackage’] […]