Build your own Appium Drivers and Plugins
Appium 2.0 allows its users to create their own drivers and plugins for their special needs. At this workshop, you’ll learn Appium 2.0 architecture, how to create your own custom drivers and plugins and what other breaking changes we brought in Appium 2.0. This workshop also helps you to understand several appium internals to contribute back to the Appium codebase
Outline/Structure of the Workshop
- Overview
- Appium 2.0 vision
- Appium 2.0 Architecture
- Installation - Appium 2.0 server
- Existing Appium 2.0 Drivers & Plugins
- Use cases
- Custom Appium Driver
- Installation
- Driver CLI commands
- Explain the use case
- Steps to build custom driver
- Demo
- Build your own Appium Plugin
- Installation
- Plugin CLI commands
- Add arbitrary functionality for an existing command
- Adding new appium command
- Demo
- What else in Appium 2.0?
Learning Outcome
Deep dive into Appium Project and hopefully, when you leave, you would be able to start contributing to the open-source project.
Target Audience
Anyone interested in understanding the internals of Appium Project and willing to contribute to Appium 2.0
Prerequisites for Attendees
Attendees should have:
- Appium downloaded from NPM (at least latest appium 1.0 server)
- Appium set up and working for iOS and android (or just android if they don’t have a mac)
- Git
schedule Submitted 1 year ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Sai Krishna / Srinivasan Sekar - Build your own Appium plugin
Sai KrishnaLead ConsultantThoughtworksSrinivasan SekarLead ConsultantThoughtWorksschedule 1 year ago
45 Mins
Case Study
Beginner
What if you had to support a custom locator in your project and with Appium 1.0 it was not possible. This would lead us to maintain a fork and make our required changes. Which in turn is an overkill as we have to always keep up with upstream.
With Appium 2.0 architecture we can create plugins for our special needs. At this talk, we are going to talk about Appium 2.0 architecture, how to create custom plugins and what other breaking changes we brought in Appium 2.0.
-
keyboard_arrow_down
Wim Selles - Swiping your way through Appium
45 Mins
Demonstration
Beginner
Mobile applications are becoming more and more important in our daily lives. From ordering clothes to grocery shopping, the services available via an app are increasing rapidly and users expect a seamless experience. This means that the automation focus is shifting more towards mobile devices.
But did you know that there is a huge difference between interacting with a desktop browser and a mobile app? And that difference is just a few tiny hand motions! Because with desktop browser automation we mainly focus on using our mouse, but on devices, we use our fingers to execute all different kinds of gestures, like swipe, scroll, pinch/zoom, and many more. Did you also know that automating mobile gestures is one of the most overlooked features in mobile automation?The most common reason for this could be that we don’t know how to do it, or because it might just be too difficult.
During this presentation, we will focus on how to mimic mobile gestures with Appium for Android and iOS. With a sample app we will explore and understand different gestures including how to scroll, swipe, and pinch/zoom and then create cross-platform and cross-device gestures. By the end of this presentation, you’ll learn how to improve the user experience of your mobile applications by adding gestures to your automation scripts.
-
keyboard_arrow_down
Daniel Paulus - Execute Appium iOS tests inside Linux containers
45 Mins
Talk
Intermediate
Setting up Mac OS X for remote use or as a CI pipeline is never a great experience. Usually we all love using Linux for these purposes, sadly iOS devices don't work on Linux.. or do they? Wouldn't it be cool to just execute Appium servers for iOS devices on Linux machines in Docker containers? Turns out you can absolutely do that and this talk explains how.
I have created go-ios (https://github.com/danielpaulus/go-ios) an open source library that allows you to access iOS device functions like:
- launch XCTests (like WebDriverAgent, an Appium requirement for iOS testing)
- start and stop apps
- and many more
from the command line on both, Mac OS X and Linux.
Because we are using unstable, private Apple APIs, I included my reverse engineering tool "dproxy" that you can use to debug future iOS updates or add missing features to go-ios.
-
keyboard_arrow_down
Christopher Hiller - Nurture Your Epic Flow State with Appium & VS Code
20 Mins
Demonstration
Beginner
For a developer, every second spent tab-switching from program A to program B is an insult. It's another opportunity to lose focus, get sidetracked, or to jolt out of flow--it's a gear-grinding interruption. Yuck!
Even developers using Appium (despite their unusually high intelligence) are not immune to the productivity hazard of the tab-switch.
It's for this reason, We (the majestic plural) have broken ground on the first Appium extension for VS Code. We will demonstrate how this extension will help a developer:
-
Easily configure and launch a local Appium server
-
Start a session on a local or cloud Appium instance (e.g., Sauce Labs)
-
Inspect and debug a running session
-
Probably other amazing things
We will drive this IDE plugin into the heart of the sun--but need your help--so bring your incredible ideas!
Extension will be published on the VS Code Marketplace and GitHub on or before this session.
-
-
keyboard_arrow_down
Kazuaki Matsuo - Manage appium dependencies with --appium-home in Appium 2.0
20 Mins
Talk
Beginner
Appium 2.0 manages driver/plugin dependencies in .appium directory. The path can be customized by --appium-home argument. This talk will show the usage of --appium-home so that you can manage your local environment for particular usage.
This talk will also show --drivers and --plugins arguments to load necessary modules to improve the initial starting time.
-
keyboard_arrow_down
Anand Bagmar - Next Generation Functional & Visual Testing powered by AI
90 Mins
Workshop
Beginner
The Test Automation Pyramid is not a new concept.
The top of the pyramid is our UI / end-2-end functional tests - which simulate end-user behavior and interactions with the product-under test.
While Automation helps validate functionality of your product, aspects of UX validations can only be seen and captured by the human eye and is hence mostly a manual activity. This is an area where AI & ML can truly help.
With everyone wanting to be Agile, make quick releases, the look & feel / UX validation, which is typically a a manual, slow, and error-prone activity, quickly becomes a huge bottleneck.
In addition, with any UX related issues propping up cause huge brand-value and revenue loss, may lead to social-trolling and worse - dilute your user-base.
In this hands-on workshop, using numerous examples, we will explore:
In this workshop, using numerous examples, we will explore:
- Why Automated Visual Validation is essential to be part of your Test Strategy
- How Visual AI increases the coverage of your functional testing, while reducing the code, and increasing stability of your automated tests
- Potential solutions / options for Automated Visual Testing, with pros & cons of each
- How an AI-powered tool, Applitools Eyes, can solve this problem.
-
keyboard_arrow_down
Abilash Hari - Perfachhi - an open source app performance SDK to integrate with your dev testing
45 Mins
Talk
Intermediate
We had set our foot to solving one of the complex challenges with testing mobile apps, pre-prod app performance monitoring and since then a lot has progressed. This is a space where we truly felt the need of brining insights to developers in conjunction with testing. The people and community has been very nice to us and they see this as a common challenges of testing mobile apps. We wanted to give it back to them with, we made Perfachhi - Open source
-
keyboard_arrow_down
Wasiq Bhamla - coteafs-appium: A wrapper framework that simplifies Appium
45 Mins
Talk
Intermediate
As a Test Automation professional, we all know how difficult it can be when writing tests with Appium for Android and iOS. There are so many capabilities and settings available with Appium that we don't remember them all.
How easy it would be if there was a tool which does the remembering of all those capabilities and settings and exposes us with simple and easy to read Yaml config file where we just set the configs what we need and the tool takes care of setting the desired capabilities and settings.
Also, it would be even cool, if that tool simplifies the scripting by allowing us to use the power of OOPS in our scripting and also helps us in asserting the UI elements in a clean and readable way.
Allow me to introduce you to such a tool called coteafs-appium. Not only it does all what is mentioned above, it does loads of different stuff thus reducing the burden of writing unnecessary boilerplate code like video record, logging, etc and help the tester to focus more on application under test.
In this talk, I'll walk you through coteafs-appium and showcase all the features it has at your disposal.
-
keyboard_arrow_down
Simon Berner - Redefining Mobile App Testing While The World Is Watching
45 Mins
Talk
Intermediate
Mobile App Development and Testing is a wonderful place to be. The diversity of mobile devices and operating systems gives us some huge challenges. Where shall we start Testing and when do we stop?
Guided by the question “Is That Enough?”, I will be taking you through the crests and troughs of mobile app testing. On this journey, I will incrementally add some new gadgets into our testing tool belt and enrich us with some new ideas to find a solid and exhaustive mobile app test strategy.
You will see different testing ideas come along the way, hear about their advantages and how new brave ideas can push us forward and drive innovation to tackle the everlasting challenge of testing what gives us the most value. I will also share how I got involved in the mobile world 22 years ago and what I like the most of being on the bleeding edge of it today.