Appium questions answered
March 24, 2020

14 of Your Appium Questions Answered

Mobile Application Testing
Automation

Perfecto recently hosted a webinar dedicated to the unknows and advanced abilities of the Appium test automation framework.

In this webinar, Eran Kinsbruner, Perfecto’s Chief Evangelist and author, together with Sai Krishna and Srinivasan Sekar from ThoughtWorks, provided an overview of the advanced and newer capabilities of the Appium framework. They also spotlighted what’s to come in Appium 2.0 later this year.

Key topics covered in the webinar include:

  • Appium support for biometrics (FaceID and fingerprint authentication).
  • Using Appium event APIs for logging performance and other applications under test activities.
  • Espresso data matcher element locator use cases.
  • Support for automating advanced gestures using Appium.
  • Video streaming of running test execution.
  • Perfecto and Appium integration: Appium Desktop, audio validation, image injection.
  • What’s coming in Appium 2.0.

During the webinar, Srinivasan, Sai, and Eran addressed a few questions. However, due to a lack of time, many questions were left unanswered. Since these are quite important questions, we decided to feature them in this blog.

Appium logo

14 of Your Appium Questions Answered

1. Can the Delay in the Latest Appium Version Be Removed?

In the latest Appium version, there is an additional default time delay (1 second) between pressDown, moveTo, and TouchActions commands. In earlier versions, it was faster without that delay between actions. Can this delay be somehow removed?

Answer: TouchActions is no longer maintained nor recommended. Regarding Actions API (W3C standard one), surely there should be no delay introduced by the Appium team. We recommend checking your page source and verifying if anything has changed.

2. Can You Share the Code Snippet for Face ID?

Hi Sai/Srinivasan, can you please share the code snippet for actions and face ID authentication?

Answer: Here you go: https://github.com/saikrishna321/VodQaAdvancedAppium

3. What Other Options are Available Around Appium When Using Perfecto?

Answer: Perfecto is fully compliant with the Appium open source framework. But Perfecto also provides users some additional abilities like:

  • Image injection automation (demonstrated in the webinar).
  • Audio validation (demonstrated in the webinar).
  • Real device access in the cloud across 11 global data centers for parallel execution and scalability.
  • Advanced test reporting (continuous integration dashboard, logs, videos, screenshots, root cause analysis, etc.).
  • Location mimicking.
  • Execution of mobile web and hybrid apps across mobile devices and desktop browsers in one solution.
  • Real device authentication testing (face, fingerprint, 2FA, etc.).
Appium testing on device

4. What Is the Major Difference Between Espresso Driver & UIAutomator?

Answer: The key difference between both the Android automation drivers is that UIAutomator2 is a black box testing framework where the internals of the Android application are not exposed.

Espresso is a grey box testing framework where the internals of the application are exposed. Espresso Android can find elements that are not visible on the screen. It is able to find elements by other locator mechanisms, like data matcher strategy, finding by view tag, etc. 

5. Where Should I Go for an Issue With WebView?

I experienced an issue while automating WebView where the locators are not inspected by Appium.

Answer: Like any issue, feel free to raise it in the Appium GitHub issue thread with as much detailed information possible, so our team can look into that and help. I would try getting the page source and figuring out if there is any WebView or not. Also, check out the discussion forum where a lot of problems and their solutions are discussed regularly.

6. Does Appium Support Automation of Xamarin-Generated Apps?

Answer: Xamarin was quite popular during the early days of Appium development. Yes, Appium supports automating Xamarin apps for a very long time.

7. Is Face ID Authentication Now Supported for Real iOS Devices?

Answer:Nope. Apple’s underlying APIs do not support the testing of face ID authentication on real devices yet. For face ID testing on real devices (iOS and Android), you can use Perfecto with Appium. Perfecto added such abilities together with others as demonstrated in the Appium webinar.

8. Are There Any Property Files Available to Capture and Save in Any Described Format?

Answer: Currently, Appium supports the export of this data in JSON format only.

9. Is There a Way to Test Video Streams in Apps?

The demo during the webinar was for "video streaming," as in streaming the test device's screen, not as in actually handling "video streaming" within apps. Is there a way to test applications that require video streams, as in testing that the video stream works? I don't think the emulators support that, but hopefully I am wrong.

Answer:There was some work done recently by Jason Arbon here on testing video streaming applications that might be useful. 

10. How Is Espresso Data Matcher Better than UiScrollable?

Answer:UIScrollable is no longer maintained by Google and it is officially depreciated. Espresso's data matchers are the way forward to identify elements that are not visible in the viewport in scrollable views. 

Appium webinar image

11. Does Appium Support AndroidX Biometric Authentication Similarly to Mobile:enrollBiometric Mobile:sendBiometricMatch?

Answer: If the underlying automation backends of Appium supports it then Appium should also support it out of the box. Feel free to give it a try and let us know about your findings.

12. Does Video Streaming Work Remotely?

Does video streaming work if my Appium server and iOS devices are on a remote Mac machine and I access the URL remotely? What things do I need to take care of to make it work this way?

Answer:If you are able to access the network where the devices and server are hosted and the port of ffmpeg server is accessible for you where the Appium server is streaming it, then you will definitely be able to view the screen of remote devices.

13. Are Custom Events More Accurate than Appium Events?

Would it be more accurate if the custom events are part of the app internally using the trace logging instead of Appium events? Server events are cool though.

Answer: Different apps might use different tracing mechanisms to understand the behavior and customer usage of the apps. Appium events are the simplest ones whether or not the applications really have any monitoring SDKs.

14. How Can I Get Started Automating My First iOS and Android Apps With Appium and Perfecto?

Answer:The most convenient and easy way to get started is to follow the Perfecto for Appium guide. You can find some getting started code samples and setup instructions here.

Get Advanced Appium Tips From the Experts

These questions are just scratching the surface of what can be done with Appium. Get a complete guide to Appium basics >>

And learn more about advanced Appium testing and what’s to come in Appium 2.0 — access the full Appium webinar slide deck and recording here.

Appium Is Better With Perfecto

Get more out of Appium by pairing it with Perfecto. The two seamlessly integrate, so you can run your Appium scripts on mobile devices in the secure, enterprise-grade testing cloud.

You’ll get all of the benefits of testing with Appium — without the drawbacks. See for yourself how Perfecto can help you maximize mobile app testing. Request a demo today.

Get My Demo