Wim will be presenting the following session
filter_list help_outline
  • Wim Selles
    keyboard_arrow_down

    Wim Selles - Building your own native app visual testing module with Appium

    Wim Selles
    Wim Selles
    Sr. Solutions Architect
    Sauce Labs
    schedule 2 years ago
    Sold Out!
    45 Mins
    Case Study
    Beginner

    We all know that Appium can do (almost) everything what you tell it to do, but in the end we always ask it to do the same thing. We ask Appium to automate our happy and or our error flow. The result can give us the confirmation that the user can still buy a product, or verify if his bank account still has a positive balance.

    But what if we need to know more than that - what if we also need to verify the layout of our app? The answer would be easy, as there are plenty of open-source or paid solutions that can help you with that. However, almost all of these solutions focus on web/hybrid apps, not on native iOS and or Android apps.

    I faced this challenge when I was automating a React Native app for my customer. There was no image comparison tool that could do what I wanted it to do, so I rolled up my sleeves and started building my own. In this talk we’ll be walking down the path I’ve been taking and I’ll explain:

    • Why I used ResembleJS as my core visual comparison solution
    • The things I’ve learned about Appium in the process (pro tips!)
    • The differences between iOS and Android and how I managed to solve this in one cross-platform solution
    • The pros and cons of my solution
1. What got you started/interested in Testing?

Until 2007 I was an account manger for a large Office Supply company. In the last months that I worked there I got the responsibility to lead the implementation of the new website and webshop. A lot of things went wrong during the implementation which caused a huge delay. After all was fixed I needed to get back to my previous work and I didn't like that anymore so I choose to start my career in IT.

Based on what I've seen and learned I liked the testing space and I decided to join a small company in the Netherlands where I've learned to become a manual tester. After a few months Iearned that I like the technical part of testing more than the manual part, but in 2007 there was hardly any tool that could automate a website as is can now, so I decided to start developing my own websites to learn to think as a developer. 

2. What has been your best moment/highlight working with Appium?

My highlight was when I was working at Tele2 in the Netherlands and did my investigation for selecting an automation tool for automating a React Native application. During that research I learned a lot about Appium and the fact that my talk about that research got selected for the first Appium Conference that was ever held made my day!

3. What do you think is the biggest challenge faced by Mobile Testers today?

I'm trying to help a lot of people on different Gitter channels with questions regarding Appium and from what I've seen is that people overestimate the ease of automating a native app with Appium. Even though Appium shares almost all commands that Selenium also has, the UI hierarchy is completely different between a native app and a webapplication. There is even en difference between iOS and Android. People often forget this and face a lot of issues when creating a script for iOS and Android.

4. What is your advice to testers, who are new to automation?

Well, my first advice is to become a good manual tester. As a good manual tester you have the following advantages:

  • you understand the application you need to test from A to Z
  • because of time pressure you know how to make a proper distinction between what to test and what not to test, for example based on risk, business value and so on

By having this background it will be easier to create an automation script that will also add value.

My second advice would be to start automating the things that:

  • add value checking, because if they break they might cause your company a lot of money
  • cause you a lot of time to run manually, but save you a lot of time by automating them so you can focus on more exotic tests

and stop focussing on automating things that have less business value or cost you a lot of time to investigate. Take for example finger print, battery usage and so on. I see a lot of people investigating time in automating these tests, but they tend to forget getting a solid automation script for the rest of the tests they need to automate.

5. Tell us about the session/s you will be presenting at the conference and why did you choose those topics?

During my talk I'm going to explain you what I did to build my own native app visual testing module for native apps and all the challenges I've faced. I found some nice features of Appium that I didn't know and I also wanted to share them with you

6. What are some of the key takeaways from your session/s?

That there's always a solution for your problem, you only need to search and think

7. Which are your favourite sessions at Appium Conf? (Sessions that you are looking forward to attend)

I'd like to know more about the internals of Appium, so all sessions regarding the internals already drew  my attention. But the main goal of the conference for me is to get in touch with more people who are using Appium and having good conversations about the challenges they face. I can always watch all video's after the conference laughing

help