SlideShare a Scribd company logo
1 of 14
Download to read offline
Автоматическое
тестирование UI в iOS
Виктор Петренко
vpetrenko@gmail.com
CTO songsterr.com
Обзор решений
● Frank (UISpec)
● KIF
● Calabash
● appium.io
● Monkey Talk (ex.
FoneMonkey)
● zucchini framework
● UI Automation
UI Automation
● Tuneup JS
● mechanic.js
● UIAutoMonkey
● bwoken
● choose_sim_device
Songsterr App
songs_screen.js
var SongsScreen = {
tableView: function() {
if (this.target().isDeviceiPhone())
return this.window().tableViews()[0];
else
return
MainScreen.navigationView().
tableViews()[0];
}
},
SongsScreen.__proto__ = GenericScreen;
Songsterr App (iPad)
test_catalog.js
test("Change catalog screens", function
(target, app) {
MainScreen.openPopular();
if (isStandalone()) {
assertScreenMatchesImageNamed
("popular", "popular screen doesn't
match");
}
SongsScreen.assertTableViewList("http:
openPopular (MainScreen.js)
openPopular: function() {
if (this.target().isDeviceiPhone()) {
this.searchWithName("icon_popular").tap();
} else {
this.searchWithName("Tab button: 0").tap();
}
},
// ...
assertScreenMatchesImageNamed
● performTaskWithPathArgumentsTimeout
● Неявные ограничения на ответ
var objectProp =
eval("(" + object.value() + ")");
assertTableViewList
accessibilityValue
@implementation UIImageView
(Automation)
- (NSString *)accessibilityValue
{
//..
return [NSString stringWithFormat:
@"{'hidden':%@}",
isHidden ? @"true" : @"
false"];
UI Automation Pros & Cons
Pros
● Apple (recommended way)
● Gestures
● Simulator/Hardware
Cons
● Не open source
● Бедная инфраструктура
Интересные ссылки
● http://blog.manbolo.com/2012/04/08/ios-
automated-tests-with-uiautomation
● Test iOS Apps with UI Automation by
Jonathan Penn
● Facebook: rostov.iOS.dev
Вопросы?
Автоматическое тестирование UI в iOS
Виктор Петренко
vpetrenko@gmail.com
songsterr.com

More Related Content

What's hot

Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
Ahsanul Karim
 
Eclipse Launching Framework
Eclipse Launching FrameworkEclipse Launching Framework
Eclipse Launching Framework
Kangho Kim
 

What's hot (17)

iOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + GherkiniOS Automation: XCUITest + Gherkin
iOS Automation: XCUITest + Gherkin
 
Oop suplemnertary september 2019
Oop suplemnertary september  2019Oop suplemnertary september  2019
Oop suplemnertary september 2019
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
 
Ui BDD Testing
Ui BDD TestingUi BDD Testing
Ui BDD Testing
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
Android Basics
Android BasicsAndroid Basics
Android Basics
 
Android activities & views
Android activities & viewsAndroid activities & views
Android activities & views
 
Android Life Cycle
Android Life CycleAndroid Life Cycle
Android Life Cycle
 
Swtbot
SwtbotSwtbot
Swtbot
 
Eclipse Launching Framework
Eclipse Launching FrameworkEclipse Launching Framework
Eclipse Launching Framework
 
Android development - Activities, Views & Intents
Android development - Activities, Views & IntentsAndroid development - Activities, Views & Intents
Android development - Activities, Views & Intents
 
Android Basic Components
Android Basic ComponentsAndroid Basic Components
Android Basic Components
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android apps development
Android apps developmentAndroid apps development
Android apps development
 
A comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter componentA comprehensive guide on developing responsive and common react filter component
A comprehensive guide on developing responsive and common react filter component
 
Java Applet and Graphics
Java Applet and GraphicsJava Applet and Graphics
Java Applet and Graphics
 
Ppt 2 android_basics
Ppt 2 android_basicsPpt 2 android_basics
Ppt 2 android_basics
 

Viewers also liked

ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話
Kohki Nakashima
 
Data analysis and interpretation(renalt)
Data analysis and interpretation(renalt)Data analysis and interpretation(renalt)
Data analysis and interpretation(renalt)
Rishi Katkar
 
c++ Lecture 3
c++ Lecture 3c++ Lecture 3
c++ Lecture 3
sajidpk92
 
c++ Lecture 4
c++ Lecture 4c++ Lecture 4
c++ Lecture 4
sajidpk92
 
Songsterr's Architecture
Songsterr's ArchitectureSongsterr's Architecture
Songsterr's Architecture
Victor Petrenko
 
basic c++(1)
basic c++(1)basic c++(1)
basic c++(1)
sajidpk92
 
c++ Lecture 2
c++ Lecture 2c++ Lecture 2
c++ Lecture 2
sajidpk92
 
Cauchy riemann equations
Cauchy riemann equationsCauchy riemann equations
Cauchy riemann equations
sajidpk92
 

Viewers also liked (20)

ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
The Practicalities of paperless classes
The Practicalities of paperless classesThe Practicalities of paperless classes
The Practicalities of paperless classes
 
Программист-полиглот
Программист-полиглотПрограммист-полиглот
Программист-полиглот
 
ELT Ireland Concpetion to Collaborartion
ELT Ireland  Concpetion to CollaborartionELT Ireland  Concpetion to Collaborartion
ELT Ireland Concpetion to Collaborartion
 
Ruby Outside Rails 2 (southfest)
Ruby Outside Rails 2 (southfest)Ruby Outside Rails 2 (southfest)
Ruby Outside Rails 2 (southfest)
 
Ruby outside Rails
Ruby outside RailsRuby outside Rails
Ruby outside Rails
 
applications of internet
applications of internetapplications of internet
applications of internet
 
Data analysis and interpretation(renalt)
Data analysis and interpretation(renalt)Data analysis and interpretation(renalt)
Data analysis and interpretation(renalt)
 
Локализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализацииЛокализация программных продуктов и тестирование локализации
Локализация программных продуктов и тестирование локализации
 
c++ Lecture 3
c++ Lecture 3c++ Lecture 3
c++ Lecture 3
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
c++ Lecture 4
c++ Lecture 4c++ Lecture 4
c++ Lecture 4
 
Songsterr's Architecture
Songsterr's ArchitectureSongsterr's Architecture
Songsterr's Architecture
 
Alveolar
AlveolarAlveolar
Alveolar
 
Manfaat zat radioaktif (fisika inti)
Manfaat zat radioaktif (fisika inti)Manfaat zat radioaktif (fisika inti)
Manfaat zat radioaktif (fisika inti)
 
basic c++(1)
basic c++(1)basic c++(1)
basic c++(1)
 
Analisis vektor (FPMIPA universitas pendidikan indonesia)
Analisis vektor (FPMIPA universitas pendidikan indonesia)Analisis vektor (FPMIPA universitas pendidikan indonesia)
Analisis vektor (FPMIPA universitas pendidikan indonesia)
 
c++ Lecture 2
c++ Lecture 2c++ Lecture 2
c++ Lecture 2
 
Cauchy riemann equations
Cauchy riemann equationsCauchy riemann equations
Cauchy riemann equations
 

Similar to I os ui test automation

Quick Intro to Android Development
Quick Intro to Android DevelopmentQuick Intro to Android Development
Quick Intro to Android Development
Jussi Pohjolainen
 

Similar to I os ui test automation (20)

Rambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуйRambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуй
 
QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...
QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...
QA Fest 2019. Алексей Альтер-Песоцкий. Snapshot testing with native mobile fr...
 
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
Jak vyvinout úspěšnou aplikaci pro Google Glass (Martin Pelant, eMan)
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"Vlad Nedomovniy "Navigation with less pain"
Vlad Nedomovniy "Navigation with less pain"
 
Quick Intro to Android Development
Quick Intro to Android DevelopmentQuick Intro to Android Development
Quick Intro to Android Development
 
One Page to Test Them All!
One Page to Test Them All!One Page to Test Them All!
One Page to Test Them All!
 
Native vs hybrid: The Case for Native
Native vs hybrid: The Case for NativeNative vs hybrid: The Case for Native
Native vs hybrid: The Case for Native
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
 
Action bar
Action barAction bar
Action bar
 
Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)Android Lab Test : Using the camera preview (english)
Android Lab Test : Using the camera preview (english)
 
Spin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.jsSpin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.js
 
Testes instrumentais. v2
Testes instrumentais. v2Testes instrumentais. v2
Testes instrumentais. v2
 
Windows 10 - одно приложение для всех платформ. UA Mobile 2016.
Windows 10 - одно приложение для всех платформ. UA Mobile 2016.Windows 10 - одно приложение для всех платформ. UA Mobile 2016.
Windows 10 - одно приложение для всех платформ. UA Mobile 2016.
 
Android
AndroidAndroid
Android
 
Os Haase
Os HaaseOs Haase
Os Haase
 
Hieu Xamarin iOS9, Android M 3-11-2015
Hieu Xamarin iOS9, Android M  3-11-2015Hieu Xamarin iOS9, Android M  3-11-2015
Hieu Xamarin iOS9, Android M 3-11-2015
 
mobl
moblmobl
mobl
 
Windows 10 - one application for all platforms. (UA Mobile 2016)
Windows 10 - one application for all platforms. (UA Mobile 2016)Windows 10 - one application for all platforms. (UA Mobile 2016)
Windows 10 - one application for all platforms. (UA Mobile 2016)
 
Jquery ui
Jquery uiJquery ui
Jquery ui
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

I os ui test automation