Android UI Testing with Appium
This presentation covers:
- how appium works
- setting up test development environment with AndroidStudio
- running tests
- UI automation best practices
- common problems with automation
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
Watch a live presentation at http://offer.bitbar.com/parallel-test-runs-with-appium-on-real-mobile-devices
Appium is an open source test automation framework and currently one of the hottest framework for mobile app, game and web testing. In this webinar, we’ll discuss about the best practices, how to use Appium for different types of apps, games and web apps, and how to use all new features around it – the parallel test runs, image recognition and more!
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
http://www.techforum.prathidhwani.org/appium/index.html
Appium Basics
Appium Desktop
Android Locator Types and Inspector Tools
Appium Capabilities
Mobile Interactions - Swipe and Scroll
Page Object Model and Dependency Injection
Real Device v/s Emulators / Simulators
iOS Automation
Cloud Automation
Appium Tips and Tricks
Please follow the steps in the below link to configure your system for the workshop
https://medium.com/@syamsasi/setting-up-appium-on-windows-and-ubuntu-ea9a73ab989
Developed by Sauce Labs and a thriving community of open source contributors, Appium is a cross-platform automation framework for testing mobile web, native, and hybrid applications.
In this webinar, hear the latest about Appium version 1.3.x from project lead Jonathan Lipps as he takes us on a tour of the stability improvements and features the team has added since the Appium 1.0 release back in May of 2014.
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarBitbar
Watch a live presentation at http://offer.bitbar.com/parallel-test-runs-with-appium-on-real-mobile-devices
Appium is an open source test automation framework and currently one of the hottest framework for mobile app, game and web testing. In this webinar, we’ll discuss about the best practices, how to use Appium for different types of apps, games and web apps, and how to use all new features around it – the parallel test runs, image recognition and more!
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
http://www.techforum.prathidhwani.org/appium/index.html
Appium Basics
Appium Desktop
Android Locator Types and Inspector Tools
Appium Capabilities
Mobile Interactions - Swipe and Scroll
Page Object Model and Dependency Injection
Real Device v/s Emulators / Simulators
iOS Automation
Cloud Automation
Appium Tips and Tricks
Please follow the steps in the below link to configure your system for the workshop
https://medium.com/@syamsasi/setting-up-appium-on-windows-and-ubuntu-ea9a73ab989
Developed by Sauce Labs and a thriving community of open source contributors, Appium is a cross-platform automation framework for testing mobile web, native, and hybrid applications.
In this webinar, hear the latest about Appium version 1.3.x from project lead Jonathan Lipps as he takes us on a tour of the stability improvements and features the team has added since the Appium 1.0 release back in May of 2014.
This is a presentation about mobile apps testing using Appium. The presentation conrtains tips on comprehensive testing of apps written for various devices and platforms.
Presentation by Yaroslav Pernerovskyy (Lead Test Engineer, GlobalLogic, Kyiv), delivered at UA Mobile, November 22, 2014.
More details - http://uamobile.org
Finding the right test framework is the key for getting your automated process right. This slide-show is a list of a few automated UI test frameworks, each with its characteristics, for Android and iOS.
We are using a variety of automation tools in our project. Appium is one of them. Since Appium is now one of the most used open source automation tools for Mobile we like to share our 2 years of experience: When do we use Appium? How do we use it? What does our architecture look like? Where are the pitfalls? Simply put: How does Appium fare in our day to day life and would we use it again?
Do You Enjoy Espresso in Android App Testing?Bitbar
Watch a live presentation at http://offer.bitbar.com/do-you-enjoy-espresso-in-android-app-testing
Majority of us love coffee but let's put that aside and focus on Espresso - by Google. This exciting new test automation framework just got open sourced and is available for app developers and testers to hammer their app UIs. Espresso has a small, predictable and easy to learn API - built on top of Android Instrumentation Framework - and you can very quickly write concise and reliable Android UI tests with it.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
This is a presentation about mobile apps testing using Appium. The presentation conrtains tips on comprehensive testing of apps written for various devices and platforms.
Presentation by Yaroslav Pernerovskyy (Lead Test Engineer, GlobalLogic, Kyiv), delivered at UA Mobile, November 22, 2014.
More details - http://uamobile.org
Finding the right test framework is the key for getting your automated process right. This slide-show is a list of a few automated UI test frameworks, each with its characteristics, for Android and iOS.
We are using a variety of automation tools in our project. Appium is one of them. Since Appium is now one of the most used open source automation tools for Mobile we like to share our 2 years of experience: When do we use Appium? How do we use it? What does our architecture look like? Where are the pitfalls? Simply put: How does Appium fare in our day to day life and would we use it again?
Do You Enjoy Espresso in Android App Testing?Bitbar
Watch a live presentation at http://offer.bitbar.com/do-you-enjoy-espresso-in-android-app-testing
Majority of us love coffee but let's put that aside and focus on Espresso - by Google. This exciting new test automation framework just got open sourced and is available for app developers and testers to hammer their app UIs. Espresso has a small, predictable and easy to learn API - built on top of Android Instrumentation Framework - and you can very quickly write concise and reliable Android UI tests with it.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Getting Started with Mobile Test Automation & AppiumSauce Labs
Organizations today rely more and more on their mobile apps for their business. Many organizations today are seeing over 50% of their web traffic coming in via mobile devices and In some cases the mobile app is the only way customers interact with the business. In this Webinar, Sauce Labs’ partner, Infostretch will cover best practices in implementing Appium to enable you to quickly automate your mobile tests.
저는 핀테크 서비스 개발 프로젝트에 참여하여 CI 구축과 QA 자동화 부분 개발을 담당하였습니다.
프로젝트가 시작하면 수 많은 개발자들과 기획자 그리고 QA 들이 다투는 것은 빈번한 일상입니다..
바쁜 개발 과정에서 기본적인 로그인 함수의 구현을 계속해서 체크해야 하는 것은 매우 불편하고 번거롭죠.
Selenium과 Jenkins를 통해 다음과 같은 상황을 자동화하여 개발자들과 QA/기획자들간의 갈등을 줄이고자 합니다.
스크린샷 중 가린부분들은 현재 회사 프로젝트 유출 방지를 위한 것이니 너그러이 용서해주시길..
Automated UI testing for iOS apps using KIF framework and SwiftJurgis Kirsakmens
To make UI testing work it has to be automated, easy to maintain and fast. This talk is how to use KIF testing framework for automated UI testing for iOS apps using Swift.
Cross platform test automation using AppiumJatin Bhasin
We develop almost identical apps for both Android and iOS. Maintaining separate test suites becomes an overhead over a period of time as the test suites begin to grow. We hare now gradually moving our test infrastructure to Appium so that we can have a single test repo which is easy to maintain.
Appium is one popular open source automation tool. Used for automating native, mobile web, and hybrid applications on iOS and Android platforms. It uses WebDriver JSON wire protocol to drive the iOS apps. Appium server is written on node.js and talks to iOS using UIAutomation Instruments.
The tools and practices refined over the last decade by web developers have not crossed over easily into the mobile community. Mobile devs have been without tools like continuous integration and automated testing, which enable delivery of high-quality apps more rapidly. A key piece of the solution for mobile is Appium, an open-source, cross-platform, language-agnostic mobile automation framework you can use to write automated UI tests for Android and iOS apps (native, hybrid, web), to be run on emulators or devices.
In this talk we will explore the philosophy that underlies the work behind Appium, including the open-source nature of Appium’s diverse, active and friendly community. Then, after a brief explanation of the technology that powers Appium, we’ll move into the technical portion of the talk, where attendees will see easy it is to write Appium scripts using the WebDriver protocol in their favorite language, and integrate Appium tests into a CI system using Selenium Grid or Sauce Labs.
Finally, we’ll look at some concrete examples of how Appium has been used in a large project with 20 Android Apps at Swiss Post to dramatically improve mobile QA. Ultimately, the talk provides an argument for moving from manual QA to automated testing, an understanding of the mobile automation landscape, and a solid introduction to Appium, which leading projects and companies around the world have chosen as their mobile automation framework of choice.
Developers have embraced Continuous Integration for years and it has proven their value for accelerating software production for Web environments. However, for mobile developers, it’s been a slow road to adopting many of these same practices. In this webinar, Kevin Rohling (Emberlight, Ship.io) and Kristian Meier (Sauce Labs) will cover best practices in implementing a mobile CI system and demonstrate how you can easily build, test and deploy mobile apps.
Testing Your Android and iOS Apps with Appium in Testdroid CloudBitbar
Testdroid Cloud is now fully supported with Appium, an open source test automation framework for use with native and hybrid mobile apps.
This slide deck was used on the presentation at Appium Meetup by Jouko Kaasila, Co-founder and COO at Bitbar. You will get an overview of how you can leverage Appium in your mobile app testing within Testdroid Cloud.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
iOS and Android Acceptance Testing with Calabash - Xcake Dublinroland99
Sometimes, you would be forgiven for thinking that testing your apps' user interface is not the most fun bit of the whole process of creation. But as a matter of fact, it is, especially if you use interesting tools that help with the heavy lifting and have a freaky domain specific language that makes it straightforward to specify and automate your test cases.
Roland Gröpmair, a regular face at Xcake, will present to us his latest investigations in this area, as part of his talk iOS and Android Test Automation with Calaba.sh.
http://www.meetup.com/Xcake-Mobile-app-development-with-an-Appley-flavour/events/219080531/
Good practices for debugging Selenium and Appium testsAbhijeet Vaikar
We often come across situations when:
> We cannot figure out why our Selenium/Appium scripts fail during execution either locally or on CI.
> We need to debug scripts locally while writing them but find debugging painful and slow
Debugging the scripts is often the approach to fix them. What all different ways we can do it?
I shared about some of the good practices I have used for debugging Selenium and Appium scripts
You can gain a lot from a stable suite of end-to-end tests, but not a lot of developers know how easy it is to setup these tests. Dive into this crash course on end-to-end testing, you'll first learn the basics and then some advanced techniques that will have you testing like a pro in no time.
Selenium is an open source automation tool for test driving browser-based applications. WebDriver, the newly-introduced API for Selenium against which tests are written in Java, contains classes including ChromeDriver, AndroidDriver, and iPhoneDriver. Sometimes test authors find the API daunting and their initial automation code brittle and poorly structured. In this introduction, Alan Richardson provides hints and tips gained from his years of experience both using WebDriver and helping others improve their use of the tool. Alan starts at the beginning, explaining the basic WebDriver API capabilities—simple interrogation and navigation—and then moves on to synchronization strategies and working with AJAX applications. He covers tools and location strategies to find elements on web pages using CSS and XPath. Alan provides an introduction to abstraction approaches which help you build robust, reliable, and maintainable automation suites.
2. Introduction : Luke Maung
Background in mobile / automation
● wrote mobile browser automation system for feature-
phones (Palmsource, 2004+)
● wrote distributed browser UI automation system with
Selenium/WebDriver (Yahoo! 2008+)
● Continuous Integration software engineer (LinkedIn,
2010+)
● Advise automation strategy to start-ups (2011+)
3. Introduction : Android Automation
● Concepts
● Setup that you can replicate easily
● Common automation use cases
4. UI Automation Tools - Maturity
Created Latest
Version
Sponsor Committers Commits Automation
Language
Robotium 2010 5.3.1 Google 33 1121 Java
Calabash 2013 0.5.8 Xamarin 56 1361 Ruby
Appium 2013 1.3.1 Saucelabs 139 5423 Multiple
Espresso 2013 2.0 Google 40+ ? Java
6. Appium : Benefits
1. Tests unmodified App
2. Works well on device and emulator
3. Uses well-defined WebDriver protocol
○ WebDriver is de facto standard for UI automation
○ extensive documentation
4. Good balance of low-level features and abstraction
○ can use any test framework (junit, testng, etc)
○ does not force specific test framework (eg calabash implies cucumber
framework)
5. Saucelabs very actively supports Appium
8. Architecture : Logical View
test runner
test script
webdriver
node server
appium.js
uiautomator
Bootstrap
Android
App
:4723 :4724
Test Driver Appium Server App Under Test
adb.js
adb
9. Setup: Install Tools
Gradle @ http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.zip
● GRADLE_HOME=E:gradle
● Add %GRADLE_HOME%bin to PATH
ADT @ https://developer.android.com/sdk/installing/index.html
● ANDROID_HOME = E:UserslukemaungAppDataLocalAndroidsdk
● Add %ANDROID_HOME%bin to PATH
● Create and save an emulator image, eg “android”
Appium Server
● node.js : http://nodejs.org/download/
● appium : npm install -g appium
● appium --device-name <device id> --avd <avd name> --address <ip> --port <port>
22. Test Script : Asserting Outcome
Common queries:
● e1.isDisplayed()
● e1.getText()
take screenshots
● File image = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
junit/testng asserts
● Assert.assertEquals(e1.getText(), “welcome”);
23. Common Pitfalls and Solutions
3 major classes of problems that break tests
1. Timing issues
○ write help methods to wrap findElementBy() with robust
wait/retry/FluentWait
○ do not use sleep. Performance variance is high
2. Many opportunities to fail from client to App
○ use full-reset launch option on Appium
○ kill adb between tests
3. Slow emulator
○ http://www.genymotion.com/
○ Use real device
24. Summary
You now know:
● A popular automation tool
● How it works
● How to set it up
● Typical test code
Next Step: Try it out! Ask questions!