SlideShare a Scribd company logo
Mobile App Testing
Test more. Worry less.Testing	iOS10	Apps	with	Appium and	its	
new	XCUITest backend
Andreas	Lüdeke
Zu den FarbenApple	UI	Testing aka	XCUITEST
XCUITest:
- Announced	at	WWDC15
- Requires	Xcode 7/8
- Supports	iOS	9/10
- Based	on	XCTest
- Objetive C	/	Swift
Zu den FarbenApple	UI	Automation
Zu den FarbenYour thoughts?
Zu den FarbenMy thoughts?
Zu den FarbenXCUITest TestCase
class UITests: XCTestCase {
let app = XCUIApplication()
override func setUp() {
super.setUp()
continueAfterFailure = false
app.launch()
}
}
Zu den FarbenXCUITest Asserts
let nextGame = self.app.staticTexts["Game	4	- Tomorrow"]	
let exists = NSPredicate(format:	"exists	==	true")	
expectationForPredicate(exists,	evaluatedWithObject:	
nextGame,	handler:	nil)	
app.buttons["Load	More	Games"].tap()	
waitForExpectationsWithTimeout(5,	handler:	nil)	
XCTAssert(nextGameLabel.exists)
Zu den FarbenXCUITest System	Alerts
addUIInterruptionMonitorWithDescription("Location	
Dialog")	{	
(alert)	-> Bool in alert.buttons["Allow"].tap()	
return true
}	
app.buttons["Find	Games	Nearby?"].tap()	
app.tap()	//	need	to	interact	with	the	app	for	the	handler	
to	fire
XCTAssert(app.staticTexts["Authorized"].exists)
Zu den FarbenXCUITest Summary
Pros:
- Easy	to	learn	
- Objective	C	/	Swift
- Recorder	available
- Full	system	access
- Relatively	fast
- Flexible
Cons:
- Terrible	
Documentation	
- Only	iOS	9	and	10
- Signing	Hell
Zu den FarbenAppium and the rocky road to iOS	10
- 1.5	complete	rewrite	
with	plugin	support
- WebdriverAgent
- FBSimulatorControl
- 1.6.beta-3
- Focus	on	Simulators
Appium Demo
Zu den FarbenReferences
- https://developer.apple.com/videos/play/wwdc2015/406/
- https://github.com/facebook/WebDriverAgent
- https://github.com/facebook/FBSimulatorControl
- https://github.com/appium/appium/releases/tag/v1.6.0-
beta3
www.testobject.com
Andreas	Lüdeke
aluedeke@testobject.com

More Related Content

PPTX
XCUITest for iOS App Testing and how to test with Xcode
PPTX
Getting Started with XCTest and XCUITest for iOS App Testing
PPTX
iOS Automation: XCUITest + Gherkin
PDF
iOS UI Testing in Xcode
PDF
UI Testing with Earl Grey
PDF
Automated Xcode 7 UI Testing
PDF
iOS UIAutomation
XCUITest for iOS App Testing and how to test with Xcode
Getting Started with XCTest and XCUITest for iOS App Testing
iOS Automation: XCUITest + Gherkin
iOS UI Testing in Xcode
UI Testing with Earl Grey
Automated Xcode 7 UI Testing
iOS UIAutomation

What's hot (18)

PDF
Make XCUITest Great Again
PDF
少し幸せになる技術
PPTX
Advance UIAutomator : Documentaion
PPTX
Automation testing on ios platform using appium
PDF
Best Practices in apps development with Titanium Appcelerator
PPTX
Testing android apps with espresso
PDF
[XCode] Automating UI Testing
DOCX
Activity
PPTX
SwtBot: Unit Testing Made Easy
PPT
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
PDF
React Ecosystem
PPT
JsUnit
PDF
React Nativeの光と闇
ODP
Appium troubleshooting
PDF
Everything You (N)ever Wanted to Know about Testing View Controllers
PPT
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
PDF
Data Flow Patterns in Angular 2 - Sebastian Müller
KEY
SWTBot Tutorial
Make XCUITest Great Again
少し幸せになる技術
Advance UIAutomator : Documentaion
Automation testing on ios platform using appium
Best Practices in apps development with Titanium Appcelerator
Testing android apps with espresso
[XCode] Automating UI Testing
Activity
SwtBot: Unit Testing Made Easy
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014
React Ecosystem
JsUnit
React Nativeの光と闇
Appium troubleshooting
Everything You (N)ever Wanted to Know about Testing View Controllers
Writing and Testing JavaScript-heavy Web 2.0 apps with JSUnit
Data Flow Patterns in Angular 2 - Sebastian Müller
SWTBot Tutorial
Ad

Viewers also liked (13)

PDF
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...
PDF
Unit testing in swift 2 - The before & after story
PDF
Swift testing ftw
PPTX
Protocol-Oriented Programming in Swift
PDF
Testing in swift
PPT
Generating test cases using UML Communication Diagram
PPTX
Unit Testing in Swift
PDF
7 Stages of Unit Testing in iOS
PDF
iOS Unit Testing Like a Boss
PDF
iOS advanced architecture workshop 3h edition
PDF
Unit testing best practices
PPTX
Unit Testing Concepts and Best Practices
PPTX
UNIT TESTING PPT
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...
Unit testing in swift 2 - The before & after story
Swift testing ftw
Protocol-Oriented Programming in Swift
Testing in swift
Generating test cases using UML Communication Diagram
Unit Testing in Swift
7 Stages of Unit Testing in iOS
iOS Unit Testing Like a Boss
iOS advanced architecture workshop 3h edition
Unit testing best practices
Unit Testing Concepts and Best Practices
UNIT TESTING PPT
Ad

Similar to Testing iOS10 Apps with Appium and its new XCUITest backend (20)

PPTX
Appium on mac platform
PPT
Android & iOS Automation Using Appium
PDF
QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...
PDF
XCTest_ A Complete Comprehensive Guide.pdf
PDF
Understanding XCUITest Framework Your Guide to Efficient iOS Testing.pdf
PPTX
Android CI and Appium
PPTX
Next level of Appium
PDF
Apple TV - a quick start guide
PPTX
Calabash-android
PDF
Ruby motion勉強会 2012年7月
PPTX
open-west
PPTX
Appium Overview - by Daniel Puterman
PPT
Top 3 SWT Exceptions
PDF
Selenium, Appium, and Robots!
PDF
Embed SwiftUI in React Native: Boost iOS Performance & UX Seamlessly
PDF
Appium understanding document
PPTX
Develop for Windows 10 (Preview)
PPTX
2015 dan ardelean develop for windows 10
PDF
2011 py con
PDF
iPhone SDK dev sharing - the very basics
Appium on mac platform
Android & iOS Automation Using Appium
QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...
XCTest_ A Complete Comprehensive Guide.pdf
Understanding XCUITest Framework Your Guide to Efficient iOS Testing.pdf
Android CI and Appium
Next level of Appium
Apple TV - a quick start guide
Calabash-android
Ruby motion勉強会 2012年7月
open-west
Appium Overview - by Daniel Puterman
Top 3 SWT Exceptions
Selenium, Appium, and Robots!
Embed SwiftUI in React Native: Boost iOS Performance & UX Seamlessly
Appium understanding document
Develop for Windows 10 (Preview)
2015 dan ardelean develop for windows 10
2011 py con
iPhone SDK dev sharing - the very basics

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Introduction to Artificial Intelligence
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Nekopoi APK 2025 free lastest update
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
System and Network Administraation Chapter 3
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Operating system designcfffgfgggggggvggggggggg
Introduction to Artificial Intelligence
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Nekopoi APK 2025 free lastest update
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Reimagine Home Health with the Power of Agentic AI​
PTS Company Brochure 2025 (1).pdf.......
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
2025 Textile ERP Trends: SAP, Odoo & Oracle
Softaken Excel to vCard Converter Software.pdf
Understanding Forklifts - TECH EHS Solution
System and Network Administraation Chapter 3
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

Testing iOS10 Apps with Appium and its new XCUITest backend

  • 1. Mobile App Testing Test more. Worry less.Testing iOS10 Apps with Appium and its new XCUITest backend Andreas Lüdeke
  • 2. Zu den FarbenApple UI Testing aka XCUITEST XCUITest: - Announced at WWDC15 - Requires Xcode 7/8 - Supports iOS 9/10 - Based on XCTest - Objetive C / Swift
  • 4. Zu den FarbenYour thoughts?
  • 5. Zu den FarbenMy thoughts?
  • 6. Zu den FarbenXCUITest TestCase class UITests: XCTestCase { let app = XCUIApplication() override func setUp() { super.setUp() continueAfterFailure = false app.launch() } }
  • 7. Zu den FarbenXCUITest Asserts let nextGame = self.app.staticTexts["Game 4 - Tomorrow"] let exists = NSPredicate(format: "exists == true") expectationForPredicate(exists, evaluatedWithObject: nextGame, handler: nil) app.buttons["Load More Games"].tap() waitForExpectationsWithTimeout(5, handler: nil) XCTAssert(nextGameLabel.exists)
  • 8. Zu den FarbenXCUITest System Alerts addUIInterruptionMonitorWithDescription("Location Dialog") { (alert) -> Bool in alert.buttons["Allow"].tap() return true } app.buttons["Find Games Nearby?"].tap() app.tap() // need to interact with the app for the handler to fire XCTAssert(app.staticTexts["Authorized"].exists)
  • 9. Zu den FarbenXCUITest Summary Pros: - Easy to learn - Objective C / Swift - Recorder available - Full system access - Relatively fast - Flexible Cons: - Terrible Documentation - Only iOS 9 and 10 - Signing Hell
  • 10. Zu den FarbenAppium and the rocky road to iOS 10 - 1.5 complete rewrite with plugin support - WebdriverAgent - FBSimulatorControl - 1.6.beta-3 - Focus on Simulators
  • 12. Zu den FarbenReferences - https://developer.apple.com/videos/play/wwdc2015/406/ - https://github.com/facebook/WebDriverAgent - https://github.com/facebook/FBSimulatorControl - https://github.com/appium/appium/releases/tag/v1.6.0- beta3