KEMBAR78
Automation using Javascript | PPTX
Develop Automation
Testing using JavaScript
Agenda
• Contents
– Automate Website Testing
– Automate Mobile Web Testing
– Automate Mobile App Testing
– Automate Electron Desktop App Testing
• Q&As
2
Web Automation Testing
• Selected tool for browser automation
– WebDriverIO
• Selected testing framework
– Mocha
• Selected Assertion Library
– Chai
3
Web Automation Testing
4
WebDriverIO
• Selenium 2.0 bindings for NodeJS
• Control a browser or a mobile application
• Your test code will look simple, concise and easy to read
• A simple setup for a wdio test suite with page objects
• Support Selenium Standalone service to run Selenium
seamlessly when running tests with the WDIO testrunner
5
WebDriverIO
6
WebDriverIO
• Is easy to config
7
Test Framework
• Mocha is a feature-rich JavaScript test
framework running on Node.js and in the
browser, making asynchronous testing simple
and fun.
• Mocha tests run serially, allowing for flexible
and accurate reporting, while mapping
uncaught exceptions to the correct test
cases.
8
Test Framework
9
Chai Assertion Library
• Is BDD (Behavior-driven development ) / TDD
(Test-driven development) assertion library for
node & the browser
• Verify the conditions of the test and decide
whether test has failed or passed.
• Three different assertion styles
–The Expect / Should API covers the BDD
assertion styles.
–The Assert API covers the TDD assertion style.
10
Mobile Automation Testing
• Selected test automation tool
– Appium
• Selected language to write tests
– JavaScript
11
Mobile Automation Testing
What is Appium?
Appium Architecture
How Appium works in iOS?
How Appium works in Android?
12
What is Appium?
• Cross-platform test automation tool for
native, hybrid and mobile web apps, tested
on
– simulators (iOS, FirefoxOS)
– emulators (Android)
– real devices (iOS, Android, FirefoxOS)
• Is open source
13
Appium Architecture
14
Appium Architecture
15
Inspect Element Tools
• UIAutomatorViewer - Android
– packaged with Android sdk
– is present under “tools” folder
• Appium Inspector (both Android & iOS)
• Purpose: Inspect the UI of an application in
order to find the layout hierarchy, and
view the properties associated with the
controls
16
Executing Test
Android
• Real Devices
• Genymotion
Emulator
iOS
• Real Devices
• Simulator (as part
of the Xcode tools)
17
Desktop Automation Testing
• Only Application is built by Electron
• Selected test automation tool
– Spectron tool
18
ELECTRON
• Build cross platform desktop apps with
JavaScript, HTML, and CSS
19
• An open source framework for easily
writing integrations tests for your Electron
app.
• Spectron sets up and tears down your app
and allows it to be test-driven remotely
with full support for the Electron APIs.
• Built on top of ChromeDriver and
WebDriverIO.
20
Tools & Technologies
• WebDriverIO - Selenium 2.0 bindings for
NodeJS
• Appium - An open-source tool for
automating native, mobile web, and hybrid
applications on iOS and Android platforms.
• Spectron - An Electron Testing Framework
• Mocha - Test Framework
• Chai - Assertion Library
21
Q & A
Thank You
Khanh Do
Make Presentation much more fun

Automation using Javascript

  • 1.
  • 2.
    Agenda • Contents – AutomateWebsite Testing – Automate Mobile Web Testing – Automate Mobile App Testing – Automate Electron Desktop App Testing • Q&As 2
  • 3.
    Web Automation Testing •Selected tool for browser automation – WebDriverIO • Selected testing framework – Mocha • Selected Assertion Library – Chai 3
  • 4.
  • 5.
    WebDriverIO • Selenium 2.0bindings for NodeJS • Control a browser or a mobile application • Your test code will look simple, concise and easy to read • A simple setup for a wdio test suite with page objects • Support Selenium Standalone service to run Selenium seamlessly when running tests with the WDIO testrunner 5
  • 6.
  • 7.
  • 8.
    Test Framework • Mochais a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. • Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. 8
  • 9.
  • 10.
    Chai Assertion Library •Is BDD (Behavior-driven development ) / TDD (Test-driven development) assertion library for node & the browser • Verify the conditions of the test and decide whether test has failed or passed. • Three different assertion styles –The Expect / Should API covers the BDD assertion styles. –The Assert API covers the TDD assertion style. 10
  • 11.
    Mobile Automation Testing •Selected test automation tool – Appium • Selected language to write tests – JavaScript 11
  • 12.
    Mobile Automation Testing Whatis Appium? Appium Architecture How Appium works in iOS? How Appium works in Android? 12
  • 13.
    What is Appium? •Cross-platform test automation tool for native, hybrid and mobile web apps, tested on – simulators (iOS, FirefoxOS) – emulators (Android) – real devices (iOS, Android, FirefoxOS) • Is open source 13
  • 14.
  • 15.
  • 16.
    Inspect Element Tools •UIAutomatorViewer - Android – packaged with Android sdk – is present under “tools” folder • Appium Inspector (both Android & iOS) • Purpose: Inspect the UI of an application in order to find the layout hierarchy, and view the properties associated with the controls 16
  • 17.
    Executing Test Android • RealDevices • Genymotion Emulator iOS • Real Devices • Simulator (as part of the Xcode tools) 17
  • 18.
    Desktop Automation Testing •Only Application is built by Electron • Selected test automation tool – Spectron tool 18
  • 19.
    ELECTRON • Build crossplatform desktop apps with JavaScript, HTML, and CSS 19
  • 20.
    • An opensource framework for easily writing integrations tests for your Electron app. • Spectron sets up and tears down your app and allows it to be test-driven remotely with full support for the Electron APIs. • Built on top of ChromeDriver and WebDriverIO. 20
  • 21.
    Tools & Technologies •WebDriverIO - Selenium 2.0 bindings for NodeJS • Appium - An open-source tool for automating native, mobile web, and hybrid applications on iOS and Android platforms. • Spectron - An Electron Testing Framework • Mocha - Test Framework • Chai - Assertion Library 21
  • 22.
  • 23.
    Thank You Khanh Do MakePresentation much more fun