Functional Testing of Mobile Applications using Appium and Python
Abhinandan Kothari (~abhinandankothari) |
The world has taken a plunge to mobile, and we as Pythonist have been using cool products like Kivy to build applications both for Android and iOS using nothing more but Python. Challenge often is to streamline the process of functional testing by eliminating practices like maintaining separate targets for testing and production, learning the framework's native language and combating challenges such as inextensible support for hybrid and mobile-web apps, absence of the record and playback feature and small community.
In this talk, we will bring forth an analysis of various mobile functional testing frameworks available in the market today and will discuss about why Appium is best suited for Python developers in comparison to the others. We will also discuss about Appium's basic architecture, similarity to selenium, extensibility to other programming languages, support for various device actions and backward compatibility. Over the course of the talk, we will describe the process of integrating appium with the CI build pipeline and generating reports, by giving a demo of using Appium and Python to easily write functional tests. By implementing the practices described in this talk, listeners will be able to speed up their functional test suite, migrate the same code to different devices with minimal changes, and extend their test suite to the language of their choice.
- Basics of Python
- Fundaments/hands-on of Android/iOS is a plus
- Basic idea of Jenkins/CI pipeline is a plus
I am Abhinandan and I work at Codeignition as a full stack developer and my co-presenter Chirag work at C42 Engineering as Developer. We work for a large scale mobile-first transportation startup with a multi platform mobile app having 10 Million Play Store and App Store downloads, and a scale of millions of user bookings per day. Functional Testing is very important for us especially being mobile first startup. With an extensive functional test suite, we validate the app features of both the Android and the iOS apps for our clients hence eliminating any unexpected behaviour in production or loss of any kind.