SlideShare a Scribd company logo
1 of 26
Download to read offline
Chloe Chen - 測試開發部
ATOMac	
  –	
  GUI	
  Automated	
  Tes3ng	
  on	
  Mac	
  	
  
•  About	
  Me	
  
•  Automa+on	
  Tes+ng	
  
•  ATOMac	
  
•  System	
  Environment	
  	
  Tools	
  
•  Usage	
  
•  Demo	
  
•  Q	
  	
  A	
  
Outline
陳芝媛 Chloe Chen
•  經歷
•  ECS - software engineer
•  KKBOX - SDET
•  聯絡我
•  FB: chloe.chen.727
•  gmail: chloechen727 
About Me
•  個性
•  人來瘋
•  喜歡小孩
About Me
•  個性
•  人來瘋
•  喜歡小孩
•  About	
  Me	
  
•  Automa+on	
  Tes+ng	
  
•  ATOMac	
  
•  System	
  Environment	
  	
  Tools	
  
•  Usage	
  
•  Demo	
  
•  Q	
  	
  A	
  
Outline
•  Defini+on:	
  
–  利用程式、工具取代人工進行的測試活動
Automation Testing
Maria, 
幫我測試 1 加個 一萬次,
看有沒有問題,結果正不正確。
收到。(開始按計算機…)
(…+1+1+1…)
Maria, 測好了嗎?
(…+1+…) 還沒。
快點測好。
…………………
忘記剛剛算到哪了啦……
•  Defini+on:	
  
–  利用程式、工具取代人工進行的測試活動
•  按你千、萬遍也不厭倦、不中斷
•  Pros:	
  
  Stability	
  –	
  tested	
  by	
  program	
  
  Cost	
  Saving	
  
   Regression	
  Test	
  
   Stress	
  Test	
  
   Performance	
  Test	
  
Automation Testing
•  About	
  Me	
  
•  Automa+on	
  Tes+ng	
  
•  ATOMac	
  
•  System	
  Environment	
  	
  Tools	
  
•  Usage	
  
•  Demo	
  
•  Q	
  	
  A	
  
Outline
•  Short	
  for	
  Automated	
  Tes+ng	
  on	
  Mac	
  	
  
•  The	
  first	
  Python	
  GUI	
  tes+ng	
  library	
  
•  Tes+ng	
  Mac	
  app	
  via.	
  
•  Easy	
  to	
  use	
  to	
  write	
  tests.	
  
ATOMac
•  OS	
  X	
  (10.6,	
  10.7,	
  10.8,	
  10.9)	
  
•  Install	
  Python,	
  Xcode	
  
•  Enable	
  Systemwide	
  accessibility	
  
System	
  Preferences	
  	
  Universal	
  Access	
  	
  Enable
	
  access	
  for	
  assis+ve	
  devices.	
  
•  Install	
  ATOMac	
  
–  sudo	
  easy_install	
  atomac	
  
•  Op+on:	
  iPython,	
  sublime	
  Text	
  2	
  
System Environment  Tools
Systemwide accessibility
•  Use	
  ATOMac	
  to	
  launch	
  an	
  applica+on	
  
•  Get	
  a	
  reference	
  to	
  the	
  UI	
  Element	
  in	
  app	
  
•  Find	
  object	
  in	
  the	
  accessibility	
  hierarchy	
  
–  Xcode	
  à	
  Open	
  Developer	
  Tools	
  à	
  Accessibility	
  Inspector	
  
–  To	
  fix	
  the	
  target	
  element	
  :	
  fn	
  +	
  command	
  +	
  F7	
  
•  Search	
  method	
  
•  Control	
  object	
  
Usage
•  Get	
  the	
  App	
  bundle	
  ID	
  	
  App	
  Localized
	
  Name	
  
–  活動監視器 à	
  Almighty	
  Calculator	
  à	
  取樣程序	
  
– Process:	
  	
  	
  	
  	
  	
  	
  	
  	
  Almighty	
  Calculator	
  
– Iden+fier:	
  	
  	
  	
  	
  	
  com.ktpd.Calculator	
  
Usage
•  Use	
  ATOMac	
  to	
  launch	
  an	
  applica+on	
  
–  Import	
  atomac	
  
–  atomac.launchAppByBundleId('com.ktpd.Calculator')	
  
•  Get	
  a	
  reference	
  to	
  the	
  UI	
  Element	
  in	
  app	
  
–  calculator	
  =	
  	
  
atomac.getAppRefByLocalizedName('Almighty	
  Calculator')	
  
•  Find	
  object	
  in	
  the	
  accessibility	
  hierarchy	
  
–  window	
  =	
  calculator.windows()[0]	
  
Usage
Usage
•  Search	
  method	
  
•  For	
  most	
  types	
  of	
  accessibility	
  objects	
  
– sheet	
  =	
  calculator.window.sheets()[0]	
  
•  For	
  UI	
  elements	
  
•  FindFirst	
  /	
  FindFirstR	
  
•  FindAll	
  /	
  FindAllR	
  
– sheet	
  =	
  calculator.window.sheets()[0]	
  
– equal_bugon	
  =
	
  calculator.findFirstR(AXRole='AXBugon',	
  AXTitle='=')	
  
Usage
•  Control	
  object	
  
•  Get	
  Agribute	
  
– equal_bugon.getAgribues()	
  
•  Get	
  Ac+ons	
  
– 	
  equal_bugon.getAc+ons()	
  
•  Trigger	
  the	
  ac+on	
  
– 	
  equal_bugon.Press()	
  
Usage
•  Demo	
  with	
  ‘Almighty	
  Calculator’	
  	
  
Demo
Q  A

•  Python	
  Automated	
  Tes+ng	
  on	
  Mac:	
  
	
  hgp://pyatom.com/	
  
•  Source	
  at	
  Github:
	
  hgps://github.com/pyatom/pyatom	
  
References
We need you!
Welcome to KKBOX!
THANK YOU!

More Related Content

Viewers also liked

通往測試最高殿堂的旅程 - GTAC 2016
通往測試最高殿堂的旅程 - GTAC 2016通往測試最高殿堂的旅程 - GTAC 2016
通往測試最高殿堂的旅程 - GTAC 2016Chloe Chen
 
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進Edward Chen
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Sauce Labs
 
男人一定要站著尿尿嗎? - 談敏捷思維
男人一定要站著尿尿嗎? - 談敏捷思維男人一定要站著尿尿嗎? - 談敏捷思維
男人一定要站著尿尿嗎? - 談敏捷思維Po-Kuang Chen
 
1ª sessão 1.0 - 2.0 - Plataformas LMS
1ª sessão   1.0 - 2.0 - Plataformas LMS1ª sessão   1.0 - 2.0 - Plataformas LMS
1ª sessão 1.0 - 2.0 - Plataformas LMSBruno Ferreira
 
Italy and the Renaissance
Italy and the RenaissanceItaly and the Renaissance
Italy and the Renaissancereach
 
Piratas Informaticos
Piratas InformaticosPiratas Informaticos
Piratas Informaticosacostjavier20
 
Nicola Mar - Assorted Works from 2016
Nicola Mar - Assorted Works from 2016Nicola Mar - Assorted Works from 2016
Nicola Mar - Assorted Works from 2016Nicola Mar
 
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAK
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAKA CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAK
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAKSalini Mandal
 
#BereBasilicata al Vinitaly 2016
#BereBasilicata al Vinitaly 2016#BereBasilicata al Vinitaly 2016
#BereBasilicata al Vinitaly 2016Camillo Di Tullio
 
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...Museo del Romanticismo
 
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEY
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEYSECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEY
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEYJournal For Research
 

Viewers also liked (20)

通往測試最高殿堂的旅程 - GTAC 2016
通往測試最高殿堂的旅程 - GTAC 2016通往測試最高殿堂的旅程 - GTAC 2016
通往測試最高殿堂的旅程 - GTAC 2016
 
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
Agile tour 2016 乘著 Agile 的風,往 CD 的方向前進
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 
男人一定要站著尿尿嗎? - 談敏捷思維
男人一定要站著尿尿嗎? - 談敏捷思維男人一定要站著尿尿嗎? - 談敏捷思維
男人一定要站著尿尿嗎? - 談敏捷思維
 
LSMC format
LSMC formatLSMC format
LSMC format
 
1ª sessão 1.0 - 2.0 - Plataformas LMS
1ª sessão   1.0 - 2.0 - Plataformas LMS1ª sessão   1.0 - 2.0 - Plataformas LMS
1ª sessão 1.0 - 2.0 - Plataformas LMS
 
Economia politocas alimentarias
Economia politocas alimentariasEconomia politocas alimentarias
Economia politocas alimentarias
 
Italy and the Renaissance
Italy and the RenaissanceItaly and the Renaissance
Italy and the Renaissance
 
LOW BIRTH WEIGHT BABY
LOW BIRTH WEIGHT BABYLOW BIRTH WEIGHT BABY
LOW BIRTH WEIGHT BABY
 
Piratas Informaticos
Piratas InformaticosPiratas Informaticos
Piratas Informaticos
 
Nicola Mar - Assorted Works from 2016
Nicola Mar - Assorted Works from 2016Nicola Mar - Assorted Works from 2016
Nicola Mar - Assorted Works from 2016
 
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAK
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAKA CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAK
A CONCISE REPERTORY OF HOMOEOPATHIC MEDICINES - PHATAK
 
#BereBasilicata al Vinitaly 2016
#BereBasilicata al Vinitaly 2016#BereBasilicata al Vinitaly 2016
#BereBasilicata al Vinitaly 2016
 
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...
CICLO DE CHARLAS “LOS INCLASIFICABLES DEL ARTE DEL SIGLO XIX”. Jean Auguste D...
 
Afghan media analysis Jan 2017
Afghan media analysis Jan 2017Afghan media analysis Jan 2017
Afghan media analysis Jan 2017
 
eTwinning live
eTwinning liveeTwinning live
eTwinning live
 
Informe sobre los valores
Informe sobre los valoresInforme sobre los valores
Informe sobre los valores
 
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEY
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEYSECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEY
SECURITY THREATS IN SENSOR NETWORK IN IOT: A SURVEY
 
Waarden en normen
Waarden en normenWaarden en normen
Waarden en normen
 
Tpn rajesh
Tpn rajeshTpn rajesh
Tpn rajesh
 

Similar to [Mac] automation testing technical sharing - 2013 dec

Testing APEX apps At A Glance
Testing APEX apps At A GlanceTesting APEX apps At A Glance
Testing APEX apps At A GlanceKai Donato
 
Circuit 2016: Automation done right
Circuit 2016: Automation done rightCircuit 2016: Automation done right
Circuit 2016: Automation done rightJörg Hoh
 
TDD and mock objects
TDD and mock objectsTDD and mock objects
TDD and mock objectsSteve Zhang
 
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test Automation
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test AutomationIt Seemed a Good Idea at the Time: Intelligent Mistakes in Test Automation
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test AutomationTechWell
 
Just Mock It - Mocks and Stubs
Just Mock It - Mocks and StubsJust Mock It - Mocks and Stubs
Just Mock It - Mocks and StubsGavin Pickin
 
Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Daniel Bohannon
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchMats Bryntse
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NETWyn B. Van Devanter
 
Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Daniel Bohannon
 
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Hugo Josefson
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit TestingStefano Ottaviani
 
Functional Testing
Functional TestingFunctional Testing
Functional TestingAdam Hill
 
[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole
[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole
[Hackersuli][HUN]MacOS - Going Down the Rabbit Holehackersuli
 
Getting root with benign app store apps vsecurityfest
Getting root with benign app store apps vsecurityfestGetting root with benign app store apps vsecurityfest
Getting root with benign app store apps vsecurityfestCsaba Fitzl
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The EnterpriseTim Moore
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment TestingAlan Richardson
 
MITRE AttACK framework it is time you took notice_v1.0
MITRE AttACK framework it is time you took notice_v1.0MITRE AttACK framework it is time you took notice_v1.0
MITRE AttACK framework it is time you took notice_v1.0Michael Gough
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesLeo Loobeek
 

Similar to [Mac] automation testing technical sharing - 2013 dec (20)

Testing APEX apps At A Glance
Testing APEX apps At A GlanceTesting APEX apps At A Glance
Testing APEX apps At A Glance
 
Circuit 2016: Automation done right
Circuit 2016: Automation done rightCircuit 2016: Automation done right
Circuit 2016: Automation done right
 
TDD and mock objects
TDD and mock objectsTDD and mock objects
TDD and mock objects
 
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test Automation
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test AutomationIt Seemed a Good Idea at the Time: Intelligent Mistakes in Test Automation
It Seemed a Good Idea at the Time: Intelligent Mistakes in Test Automation
 
Just Mock It - Mocks and Stubs
Just Mock It - Mocks and StubsJust Mock It - Mocks and Stubs
Just Mock It - Mocks and Stubs
 
Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017
 
Robotium - sampath
Robotium - sampathRobotium - sampath
Robotium - sampath
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha Touch
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NET
 
Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016
 
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29
 
Introduzione allo Unit Testing
Introduzione allo Unit TestingIntroduzione allo Unit Testing
Introduzione allo Unit Testing
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole
[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole
[Hackersuli][HUN]MacOS - Going Down the Rabbit Hole
 
Getting root with benign app store apps vsecurityfest
Getting root with benign app store apps vsecurityfestGetting root with benign app store apps vsecurityfest
Getting root with benign app store apps vsecurityfest
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The Enterprise
 
Automating to Augment Testing
Automating to Augment TestingAutomating to Augment Testing
Automating to Augment Testing
 
MITRE AttACK framework it is time you took notice_v1.0
MITRE AttACK framework it is time you took notice_v1.0MITRE AttACK framework it is time you took notice_v1.0
MITRE AttACK framework it is time you took notice_v1.0
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
 

Recently uploaded

tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 

Recently uploaded (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

[Mac] automation testing technical sharing - 2013 dec

  • 1. Chloe Chen - 測試開發部 ATOMac  –  GUI  Automated  Tes3ng  on  Mac    
  • 2. •  About  Me   •  Automa+on  Tes+ng   •  ATOMac   •  System  Environment    Tools   •  Usage   •  Demo   •  Q    A   Outline
  • 3. 陳芝媛 Chloe Chen •  經歷 •  ECS - software engineer •  KKBOX - SDET •  聯絡我 •  FB: chloe.chen.727 •  gmail: chloechen727 About Me •  個性 •  人來瘋 •  喜歡小孩
  • 4. About Me •  個性 •  人來瘋 •  喜歡小孩
  • 5. •  About  Me   •  Automa+on  Tes+ng   •  ATOMac   •  System  Environment    Tools   •  Usage   •  Demo   •  Q    A   Outline
  • 6. •  Defini+on:   –  利用程式、工具取代人工進行的測試活動 Automation Testing
  • 7. Maria, 幫我測試 1 加個 一萬次, 看有沒有問題,結果正不正確。 收到。(開始按計算機…)
  • 11. •  Defini+on:   –  利用程式、工具取代人工進行的測試活動 •  按你千、萬遍也不厭倦、不中斷 •  Pros:    Stability  –  tested  by  program    Cost  Saving     Regression  Test     Stress  Test     Performance  Test   Automation Testing
  • 12. •  About  Me   •  Automa+on  Tes+ng   •  ATOMac   •  System  Environment    Tools   •  Usage   •  Demo   •  Q    A   Outline
  • 13. •  Short  for  Automated  Tes+ng  on  Mac     •  The  first  Python  GUI  tes+ng  library   •  Tes+ng  Mac  app  via.   •  Easy  to  use  to  write  tests.   ATOMac
  • 14. •  OS  X  (10.6,  10.7,  10.8,  10.9)   •  Install  Python,  Xcode   •  Enable  Systemwide  accessibility   System  Preferences    Universal  Access    Enable  access  for  assis+ve  devices.   •  Install  ATOMac   –  sudo  easy_install  atomac   •  Op+on:  iPython,  sublime  Text  2   System Environment Tools
  • 16. •  Use  ATOMac  to  launch  an  applica+on   •  Get  a  reference  to  the  UI  Element  in  app   •  Find  object  in  the  accessibility  hierarchy   –  Xcode  à  Open  Developer  Tools  à  Accessibility  Inspector   –  To  fix  the  target  element  :  fn  +  command  +  F7   •  Search  method   •  Control  object   Usage
  • 17. •  Get  the  App  bundle  ID    App  Localized  Name   –  活動監視器 à  Almighty  Calculator  à  取樣程序   – Process:                  Almighty  Calculator   – Iden+fier:            com.ktpd.Calculator   Usage
  • 18. •  Use  ATOMac  to  launch  an  applica+on   –  Import  atomac   –  atomac.launchAppByBundleId('com.ktpd.Calculator')   •  Get  a  reference  to  the  UI  Element  in  app   –  calculator  =     atomac.getAppRefByLocalizedName('Almighty  Calculator')   •  Find  object  in  the  accessibility  hierarchy   –  window  =  calculator.windows()[0]   Usage
  • 19. Usage
  • 20. •  Search  method   •  For  most  types  of  accessibility  objects   – sheet  =  calculator.window.sheets()[0]   •  For  UI  elements   •  FindFirst  /  FindFirstR   •  FindAll  /  FindAllR   – sheet  =  calculator.window.sheets()[0]   – equal_bugon  =  calculator.findFirstR(AXRole='AXBugon',  AXTitle='=')   Usage
  • 21. •  Control  object   •  Get  Agribute   – equal_bugon.getAgribues()   •  Get  Ac+ons   –   equal_bugon.getAc+ons()   •  Trigger  the  ac+on   –   equal_bugon.Press()   Usage
  • 22. •  Demo  with  ‘Almighty  Calculator’     Demo
  • 24. •  Python  Automated  Tes+ng  on  Mac:    hgp://pyatom.com/   •  Source  at  Github:  hgps://github.com/pyatom/pyatom   References
  • 25. We need you! Welcome to KKBOX!