Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why not Tapster? (Code d’Armor)

Why not Tapster? (Code d’Armor)

How can we automate tests?
How a robot can improve quality of softwares and mobile apps?
How to test highly secured apps?
What is the Tapster robot project?
Let me introduce this amazing project :)

Keynote made during a meetup organized by Google Developers Group Code d'Armor. Slidedeck under CC-BY.

You enjoyed reading these slides? Buy me a beer, thanks<3
(https://pylapersonne.info/buymeacoffee)

Pierre-Yves Lapersonne

May 04, 2017
Tweet

More Decks by Pierre-Yves Lapersonne

Other Decks in Technology

Transcript

  1. ✿✿✿✿ ʕ •ᴥ•ʔ/ ︻デ═一 Cette œuvre est mise à disposition

    selon les termes de la Licence Creative Commons Attribution 4.0 International. Version 9- 28/08/2018
  2. 20 HTTP client Node.js Arduino Shield Servos Device User firmata

    server.js calibration.js Johnny Five UNO Shield V4 Robot Framework web app Android app Python client
  3. 23 # terminal (Appium side) $ appium --pre-launch --default-capabilities '{

    "udid": "UDID of your iOS device", "app": "pylapp.tapster.calibration.ios.RobotCalibration", "platformName": "iOS", "deviceName": "the model of your device", "platformVersion": "the version of the OS", "xcodeSigningId": "iPhone Developer (or something else you use)", "xcodeOrgId": "the TeamId you can get from your purchased Apple developer account" }' > ... # other terminal (Tapster side) $ node server.js & > ... $ node calibrate.js -o my_calibration_file.json > ... Source: https://medium.com/devs-foodit/iphone-automation-with-a-one-fingered-robot-a2936c840285 Credits: Appium, Node.js, Apple
  4. 24 Node.js script (Appium client) Node.js script (bot server) Appium

    server XCUITest WebDriverAgent WDA Runner iOS app iPhone Tapster 2 1 - download app 2 - download runner 3 - process commands
  5. 25 Credits: Appium, Node.js, Google # terminal (Appium side) $

    appium --pre-launch --default-capabilities '{ "app": "path to the APK of the Android app", "platformName": "Android", "platformVersion": "the version of the OS", "deviceName": "a name for your device", "autoLaunch": "true", "appPackage": "pylapp.tapster.calibration.android", "appActivity": "pylapp.tapster.calibration.android.MainActivity" }' > ... # other terminal (Tapster side) $ node server.js & > ... $ node calibrate.js -o my_calibration_file.json > ...
  6. 26 Node.js script (Appium client) Node.js script (bot server) Appium

    server ADB UI Automator bootstrap.jar Android app Android handset Tapster 2 1 - download app 2 - process commands
  7. 27 1 - Appium: starts calibration app 5 - Appium:

    gets the coordinates displayed by calibration app 2 - Node.js: runs calibration script 3 - Tapster bot: moves servos and tap screen of device 4 - Calibration app: displays coordinates of touched point
  8. 28 # terminal (Tapster side) $ node server.js --address 127.0.0.1

    --port 4242 --calibration my_calibration_file.json > ... Credits: Node.js, Tapster
  9. 30 • ◦ • ◦ • ◦ • ◦ •

    See: https://github.com/pylapp/tapsterbot/wiki/04-%5C--The-Tapster-2-API
  10. • • • • • • • • • •

    • • • • • • • • • • 46