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
Video
Links
Past blog entries (Japanese)
- https://blog.trident-qa.com/2020/11/android-mobile-getcontexts-api/
- https://blog.trident-qa.com/2020/12/chromium-androiddevtoolsport/
Past public talks (Japanese)
- http://jasst.jp/symposium/jasst18tokyo/details.html#D6
- https://testautomationresearch.connpass.com/event/191996/
schedule Submitted 1 year ago
People who liked this proposal, also liked:
-
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.
-
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 -
keyboard_arrow_down
Wim Selles - Workshop Automating Hybrid Applications with Appium
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.
-
-
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.