Can we have it all !
Selenium- Soup for all
Approaching scalable test automation framework
Selenium Conference 2016
Pooja Shah
Ideal World
Real World - Old school
Why not only manual testing ?
Varieties of desktop web browsers
mWeb
Android, IOS, Windows Native/Hybrid apps
All popular Make/model mobile handsets
Last minute changes…………..
Are Unit Test & Integration test Enough?
Integration tests ✓
What about -
UI changes ?
Backend Releases affects mobile apps ?
API parameters changed
HTML templates being passed
We shall not pass
Functional User Flow Tests
Web (Selenium)
Mobile App ??
MonkeyTest
Calabash
Appium
Choice of tool for mobile automation
Love its’ pain points too
Be part of its journey
work on:
1. server/inspector crash/stuck
2. right locating strategy
4. time consuming to test the test ( found a bug here ;-) )
5. Simulating gestures
6. same works manually but doesn’t in automation
- huge logs
- duplicate misleading nodes
Sample XML
<root>
<popup>
<node1 name=“yes”/>
<node2 name=“no”/>
<popup>
<popup>
<node1 name=“yes”/>
<node2 name=“no”/>
<popup>
<root>
Trigger & publish test results ?
Sell your bugs with CI !
Accessibility
Transparency
Every possible feedback data at one point
From local script to remote jenkins
Issue
Flaky tests on remote
To do’s to debug
logs
screenshots
understand processes
Solution
Xvfb 1400x1200x16 Dimension dimension = new Dimension(1224,800);
Monit
One screen Release approval
Release Status Analyser dashboard
Tests list
Tests status (Pass/Fail)
Developers responsible
Release Go/NoGo call quickly
RSA: https://p00j4.github.io (original: https://wiki.jenkins-ci.org/display/
JENKINS/eXtreme+Feedback+Panel+Plugin)
Release version to Revert Back to avoid the Fix bugs in production —>
Fixing
bugs
in
Production
https://
www.youtub
e.com/
watch?
v=5dan2QD
-QTA
Live Demo to RSA(QuickView)
All Tests execution in 1 go post release deployment
All feedback at 1 place
Implementing http://p00j4.github.io/
Understanding how could use for specific need
Certainly we don’t want such instant fixing
and running into more issues on production!
RSA - http://p00j4.github.io/
DDD (Debug Driven Development)
~ Oren Rubin
Test Code be of production quality
Appropriate Design pattern
Units (Say no to Large Tests)
Proper logging
Say no to “static” unless intended
Take screenshots as much as possible
Automated everything? way to start ->publish results in RSA
Selenium: http://www.seleniumhq.org/
Appium: http://appium.io/
Jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
IRC: #selenium #jenkins #appium
References & Credits
Thank You!
http://meettheqagirl.blogspot.in
@p00j4shah
http://p00j4.github.io

Selenium conference, 2016

  • 1.
    Can we haveit all ! Selenium- Soup for all Approaching scalable test automation framework Selenium Conference 2016 Pooja Shah
  • 3.
  • 4.
    Real World -Old school
  • 5.
    Why not onlymanual testing ? Varieties of desktop web browsers mWeb Android, IOS, Windows Native/Hybrid apps All popular Make/model mobile handsets Last minute changes…………..
  • 6.
    Are Unit Test& Integration test Enough? Integration tests ✓ What about - UI changes ? Backend Releases affects mobile apps ? API parameters changed HTML templates being passed
  • 7.
  • 8.
    Functional User FlowTests Web (Selenium) Mobile App ?? MonkeyTest Calabash Appium
  • 9.
    Choice of toolfor mobile automation Love its’ pain points too Be part of its journey work on: 1. server/inspector crash/stuck 2. right locating strategy 4. time consuming to test the test ( found a bug here ;-) ) 5. Simulating gestures 6. same works manually but doesn’t in automation - huge logs - duplicate misleading nodes
  • 10.
    Sample XML <root> <popup> <node1 name=“yes”/> <node2name=“no”/> <popup> <popup> <node1 name=“yes”/> <node2 name=“no”/> <popup> <root>
  • 11.
    Trigger & publishtest results ? Sell your bugs with CI ! Accessibility Transparency Every possible feedback data at one point
  • 12.
    From local scriptto remote jenkins Issue Flaky tests on remote To do’s to debug logs screenshots understand processes Solution Xvfb 1400x1200x16 Dimension dimension = new Dimension(1224,800); Monit
  • 13.
    One screen Releaseapproval Release Status Analyser dashboard Tests list Tests status (Pass/Fail) Developers responsible Release Go/NoGo call quickly RSA: https://p00j4.github.io (original: https://wiki.jenkins-ci.org/display/ JENKINS/eXtreme+Feedback+Panel+Plugin) Release version to Revert Back to avoid the Fix bugs in production —>
  • 14.
  • 15.
    Live Demo toRSA(QuickView) All Tests execution in 1 go post release deployment All feedback at 1 place Implementing http://p00j4.github.io/ Understanding how could use for specific need Certainly we don’t want such instant fixing and running into more issues on production!
  • 16.
  • 17.
    DDD (Debug DrivenDevelopment) ~ Oren Rubin Test Code be of production quality Appropriate Design pattern Units (Say no to Large Tests) Proper logging Say no to “static” unless intended Take screenshots as much as possible Automated everything? way to start ->publish results in RSA
  • 18.
    Selenium: http://www.seleniumhq.org/ Appium: http://appium.io/ Jenkins:https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial IRC: #selenium #jenkins #appium References & Credits
  • 19.