RoboCon 2024

Mobile application testing with Robot Framework
2024-02-06 , Mobile application testing with Robot Framework

Testing mobile applications is similar to web testing. Many apps are just mini-websites. However, on a technical level, there are differences, due to mobile devices, and their complex ecosystems. This workshop is a hands-on technical session to mobile testing with RF and Appium. Learn how to approach mobile testing, or improve your existing tests.


With Robot’s layer of abstraction, tests for mobile can be written in a similar way to webtesting. While that should make it easier, it is not as easy. There are additional challenges like device management, and test coverage of different models and OS versions. Complexity increases when the same tests need to be executed on multiple mobile platforms, without too much duplicate code.
This is a hands-on workshop, where attendees learn to automate mobile tests on their platform of choice. Attendees are welcome to raise issues they encountered during and outside of the workshop, and discuss solutions.



Workshop agenda

  • Environment and device under test setup
    • Device management
      • Android Debug Bridge
      • Xcode
    • Appium Doctor
    • Scripting automated environment check
    • Pitfalls and issues
  • System under test setup
    • Review of Appium stack
    • Appium 1.x and Appium 2.x comparison
    • Appium Drivers
    • Opening a mobile app with Open Application keyword
  • Writing tests for mobile applications
    • AppiumLibrary keywords
    • Differences between Android and iOS
    • Locating elements
      • UIAutomatorViewer
      • Xcode Accessibility Inspector
      • Appium
    • XPath on mobile
  • Writing complex tests better
    • Multi-platform tests (applying DRY to mobile tests)
    • Executing mobile tests in parallel
    • Multi-device tests
  • Bonus: continuous testing
    • End to end pipelines for mobile applications
    • Virtualization for test execution
    • Use of cloud in mobile testing

Lessons Learned:

Key Takeaways:

  • Understand how Appium can be used with Robot Framework.
  • Learn to automate mobile devices, real or virtual, with scripting and Robot.
  • Become familiar with AppiumLibrary, and mobile SDKs.
  • Understand the wider landscape of QA for mobile applications.
  • Automated scripts and tests created during the workshop.
Describe your intended audience:

Knowledge level:

  • Robot Framework: Intermediate to Advanced knowledge and experience (ability to write own tests from simple prompt)
  • bash (or corresponding scripting language): Basic proficiency (ability to write a script based on sets of commands, with logical statements)
  • Appium: No previous experience needed
  • iOS or Android development: Basic understanding of the topic may be useful
Preparation and Technical requirements:
Please bring your own laptop, with a preinstalled environment ready for test development, including a mobile SDK, and either a mobile device or an emulator of it. Note: Installing these environments requires downloading many GBs of data! If attendees don’t do that beforehand, the start of this workshop will be delayed simply by downloading all the necessary software.
You can set up and prepare yourself for working with Android (recommended, easier to start with), or iOS. It’s up to you. You can (but do not have to) prepare for both Android and iOS.
List of needed software:
  • Android SDK or iOS Xcode, ready to develop
    • For Android, bring Android mobile phone (or download an emulator) that is detected by ADB
    • For iOS, bring an iPhone (or download a simulator) and make sure your Xcode compiles apps for it
  • Robot Framework, locally or in a python virtual environment
  • Appium and Appium Doctor installed globally or in a “fake” global environment
We will communicate before the workshop a set of instructions, and commands for checking the environment has been correctly configured.

Is this suitable for ..?:

Intermediate RF user, Advanced RF user

Gaja is a computer science engineer with an interest in elegantly automating boring manual tasks. She works as a senior DevOps consultant and a team lead. Since 2016, she has been using Robot Framework and python to create testing solutions for web, mobile and embedded environments.

Hi,

I work for Eficode as a DevOps consultant. I specialize in the CI/CD domain with focus on test automation. My projects have involved developing automated testing for hardware, mobile and wider functional systems. I have experience from several CI/CD tools and test frameworks.

Severi is a DevOps Consultant and Trainer at Eficode with a focus on test automation and CI/CD pipelines. He has extensive experience in teaching tools such as Git, Docker, and Robot Framework to help teams deliver quality software faster and more reliably.