There is more in Espresso Driver's Element than you think/ WhiteBox testing using Appium

schedule Jun 14th 04:30 - 05:15 PM place Grand Ball Room 2 people 58 Interested

Have you been in a situation when some cases are impossible to test because Appium doesn't have support? Appium is improving continuously and release of espresso-driver is an example of this.
Espresso driver opens up possibilities of white-box testing using Appium. One of which is the ability to call platform methods on elements via backdoor without modifying Application under test. What it means is, if the Android platform supports some actions or properties on an element, then Appium will support it out of the box.
For an automation engineer, that's a very powerful addition. I was fortunate enough to work on this feature and would like to showcase what are the various tricky cases where this feature can be applied. There will be real examples shown with a sample android app. I will also introduce one more small bonus feature at the end, about flashing elements on screen ;)

 
 

Outline/Structure of the Demonstration

- Introduction to very basic of Android Instrumentation

- Introduction to Espresso Driver and its context with App Under Test

- Introduction to Element methods

- Demo with a sample app which shows querying element properties from android platform methods. Also how to take some action on element

- A bit about how it works and how to search these methods in the Android API documentation

- Questions

Learning Outcome

As a result, users will be able to automate some of the trickiest cases in Android automation. Ex:

I see element is not visible but it is still returned as 'visible' by Appium.

How do I get the progress of progressBar/SeekBar element in Android?

How do I tap a link in a big text which does not have a separate id?

I want to have fun with elements

Target Audience

Everyone from Beginners to Advanced users

Prerequisites for Attendees

None

schedule Submitted 11 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Justin Ison
    Justin Ison
    Sr. Software Engineer
    Applitools
    schedule 1 year ago
    Sold Out!
    45 Mins
    Demonstration
    Beginner

    In today’s agile world the time to market is becoming increasingly shorter. There is a constant desire to release ASAP to keep ahead of the competition and to please users with updated/new features. Because of this, we have less time to fully do manual and exploratory testing of our apps. Especially, when you consider all the combinations of OS's, Locales, Accessibility, Orientations & Resolutions apps support. Running anywhere from 1 to 100's of Appium crawler bots (covering all of those combinations) at once we can discover more issues quickly and efficiently without having to write a line of code.

    UI Automation also has its limitations as it only tests for expected results. Crawler bots test the unexpected, by collecting metadata such as logs, app strings, screenshots, memory and reporting back it’s finding for review so we can test all these combinations quickly and more efficiently. In this talk, I will go over the current challenges we face in today's development world, why we need more tools to help us keep pace, and cover how you can build your own Appium crawler.

    I've open sourced this tool and is available here for everyone to use: https://github.com/isonic1/Appium-Native-Crawler

  • Liked Bijoya Chatterjee
    keyboard_arrow_down

    Bijoya Chatterjee - Trust Issues with UI Automation

    45 Mins
    Talk
    Beginner

    UI Test Automation is notorious for stability issues. UI automation is almost synonymous with "Flaky Test". We discuss taking a proactive strategy towards test automation flakiness as opposed to a reactive approach where we look at failures and then decide the course of action. How can we in the test automation community use and develop tools that helps eliminate flakiness and also identifies flaky tests before they are not just run but even before they are merged. How do we create these tools in a service model that plugs into our Continuous Integration pipelines ?

  • Liked Bruno Alassia
    keyboard_arrow_down

    Bruno Alassia - Go beyond the software, automate hardware scenarios on Android Emulators

    Bruno Alassia
    Bruno Alassia
    Sr. Software Engineer
    SauceLabs
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Explore the limits Appium can help you achieve to control the Android Emulator behavior. Automate network emulation, receive fake SMS and phone calls, change the battery states and levels and a lot more, all using real-life test cases. What happens to my app if I lost connection? How does my UI react to an incoming phone call? And more.

    https://slides.com/vrunoa/appium-conf-2019#/

    https://github.com/vrunoa/appium-conf-2019

  • Liked Tomer Cohen
    keyboard_arrow_down

    Tomer Cohen - Low-level android automation with adb

    45 Mins
    Talk
    Beginner

    When we speak about Android automation, the first thing that comes to mind is Appium, however, what if Appium doesn't serve all your Android automation needs, at least not in the most efficient way?

    When I was asked to create a test automation framework for our android service (no GUI), I needed to choose the right tool for the mission. After several weeks of researching many options (both commercial and open source). I realized that ADB is my best call because of the following reasons:
    • ADB provides a faster to run solution for controlling an android device
    • ADB is in a lower level of Android OS therefore it's more flexible
    • ADB is going through less code components (like appium client, appium server etc..) and as a result is more reliable

    In this tutorial I will share my journey towards deciding to use Android Debug Bridge when it comes to non-gui android application and how I have implemented my choice.
    After this tutorial, you will have a better understanding of what is ADB, how it works, and how you can start and apply automation for the Low-Level layer of Android OS with ADB and Python.

  • Liked Eran Kinsbruner
    keyboard_arrow_down

    Eran Kinsbruner / Uzi Eilon - Future-Proofing Testers in the Age of AI, ML, and Bots

    45 Mins
    Talk
    Advanced

    We're all hearing the buzzwords of AI, machine learning, chatbots, and next-generation testing. Does this mean that the days of traditional testing as we know and practice it are over? Eran Kinsbruner doesn't think so. Join him to learn about the clear transformation happening toward smarter testing techniques and tools. These approaches will drive better pipeline efficiency and release velocity with high quality, and Eran thinks this means good things for the testing practice and practitioners. You'll discover the key trends that are happening around AI, machine learning, and bots in the web and mobile landscapes, and get the ability to identify some early adopters who are taking the lead in these domains. Learn some key requirements and skills that are required for a test engineer to shift toward the future of automation, as well as the changes testers will need to undergo in order to become future leaders in this space.