How Appium automates hybrid mobile apps and edge issues I've encountered

Frameworks for hybrid mobile apps, such as React Native, Cordova etc, have attracted more attentions. One of the reasons is that those frameworks enable us to develop both iOS and Android apps with web technology. This is important, as not only it breaks technology barriers in terms of native apps, but also it enables us to share one codebase across platforms.

However, when it comes to E2E testing on hybrid mobile apps, it can be challenging. Most of the cases the problem comes from context we test. As long as we test hybrid mobile apps as a native app, locators can be complicated and  it is difficult to share one test case across platforms. In order to address the problem here, we need to switch context. i.e. we should test them as web 
apps as they developed with web technology.

In this session, firstly I'll explain hybrid mobile apps and how to test them with Appium. Then, I'll illustrate how Appium automate hybrid mobile apps. Finally, as a developer of test automation service, I'll show some edge issues related to automating mobile apps and their solution/workaround.

 
 

Outline/Structure of the Talk

  • 04 mins: Self Introduction
  • 04 mins: What is a hybrid app?
  • 04 mins: Basics of Appium
  • 06 mins: How Appium automates Android hybrid apps
  • 06 mins: How Appium automates iOS hybrid apps
  • 06 mins: Edge issues on automating hybrid apps you may mind
  • 10 mins: Conclusion and QA

Learning Outcome

  • Basics of hybrid mobile apps
  • Insight on how Appium automates hybrid mobile apps

Target Audience

Test automation engineers, especially those who develops test infrastructure

Prerequisites for Attendees

Experience in software automation with Selenium/Appium

Slides


Video


schedule Submitted 1 year ago

  • Mykola Mokhnach
    keyboard_arrow_down

    Mykola Mokhnach - Appium: Under the Hood of WebDriverAgent

    20 Mins
    Talk
    Beginner

    In this session, we will get under the hood of WebDriverAgent. We'll discuss the importance of accessibility, and show how WebDriverAgent works with a deep dive on WebDriverAgent and Appium.

  • Masayuki Wakizaka
    keyboard_arrow_down

    Masayuki Wakizaka - Testing Android App Bundle with Appium

    20 Mins
    Talk
    Beginner

    From August 2021, new apps will be required to publish with Android App Bundle on Google Play, according to Google. What is Android App Bundle (.aab)? What is it different from Android Package file (.apk)? Does it matter when we test it on Appium? Yes, it matters. In short, we need to update our toolchain.

    In this session, firstly I'll explain what is Android App Bundle. Then, I'm going through how to automate it with Appium. Finally, I'll cover how we test Android App Bundle with different languages.

     

    ------------------------------------------

    [Update] QA during my session.

    ## Doesn't it affect the quality of android application by compressing android app bundle?
    I'm not sure if I understand the question correctly, but bundletool is a google official tool and it just generate an APK set archive file from Android App Bundle.  I think Google also uses the bundletool in Google Play. So I think it is safe to use the bundletool.

    ## What version of appium did start supporting Android App Bundle?
    Accoding to CHANGELOG, Appium supports Android App Bundle since version 1.10.0. https://github.com/appium/appium/blob/master/CHANGELOG.md#changes-in-version-1100-from-191

  • Wim Selles
    keyboard_arrow_down

    Wim Selles - Workshop Automating Hybrid Applications with Appium

    Wim Selles
    Wim Selles
    Sr. Solutions Architect
    Sauce Labs
    schedule 1 year ago
    Sold Out!
    90 Mins
    Workshop
    Beginner

    When developing mobile applications, organizations have different apps to choose from; mobile web, native, or hybrid. While web apps are just websites accessed via the internet on mobile browsers like Chrome or Safari, native applications are developed for specific platforms, such as Android or iOS. Hybrid apps are different because they possess elements from both native apps and web apps..

    When automating web applications, Selenium commands are used. Nine out of ten times the same automation script can be used for mobile web applications as our desktop web applications. With native apps however, we need to look deeper into the differences between Android and iOS apps before we can use Appium commands. 

    But how should you automate hybrid apps? Can or do you need to choose one of the two automation strategies or is there also a hybrid approach for automating hybrid apps?

    That’s what we are going to look at during this workshop. We will be looking into

    • how to detect a hybrid application for Android and iOS, 

    • how to automate a webview

    • how to switch between webviews

    • how to use the full potential of automating hybrid apps

    During this workshop, we will be using a demo Hybrid app. You can use this app post the workshop to explore more opportunities and practice your new skillset.By the end of this workshop, you will have written your (first) hybrid cross-platform automation script for Android and iOS hybrid mobile applications.

  • Masayuki Wakizaka
    keyboard_arrow_down

    Masayuki Wakizaka - How I trouble shoot test fails on Appium tests

    45 Mins
    Talk
    Beginner

    How your Appium tests working? Are they working well as you expect? If no, you've probably come to a right place! 

     

    As some of you might know, E2E tests can be flaky. When an Appium test fails, most of the cases you'll start an investigation by checking an Appium log. For those who just started testing with Appium, an Appium log looks like a mass of string. This can be sometimes a barrier to continue E2E tests with Appium.

     

    In this session, firstly I'll cover what Appium log consists of and some basic techniques how to investigate Appium tests with Appium log. Then, I'll share you where to find possible solutions/workarounds. In the end, I'll shed light upon one of the well known troubles on Appium testing and how to avoid the trouble.

help