Stable and reliable Web Automation

Download Report

Transcript Stable and reliable Web Automation

- Narayan Raman

Reduce testing effort
Automate things that can be automated

Tests should be

◦ Repeatable (Reliable)
◦ Maintainable
◦ Fast






AJAX
Web 2.0
Highly dynamic applications
Lots of frameworks
Newer, powerful browsers
HTML5





Object Identification
Handling Asynchronicity
Event Simulation
Reporting
Playback time optimization

Present methods
◦ Id, name
◦ Xpath
◦ Css-selector

Xpath and Css-selectors are brittle
◦ Too dependent on programmatic structure
◦ Require programmatic knowledge

Business logic changes less than code
Business drives User Interface

UI Relations

◦ _image(“plus.gif”, _near(_div(“My Documents”)))
◦ _textbox(0, _near(_label("Loan Amount")))
◦ _cell(0, _near(“Ram”), _under(“Loan Amount”))

More stable

Waits needed for

Hard coded waits

Conditional waits

Tool should handle time outs automatically
◦
◦
◦
◦
Page loads
Frame/iframe loads
AJAX request completion
Javascript timeout triggers
◦ Wasteful
◦ Complicated

Easy to create scripts
◦ Good recorders on all browsers
◦ Object Spy

Easy to debug scripts
◦ Real time debugging to examine state of web page
◦ Good reporting

Work across browsers and operating systems

Execute tests in parallel
◦ Some Browsers allow separation of cookies across
instances



Spread tests across machines
Limit hard coded waits
Use fast accessors
◦ Xpaths are very slow on IE
http://sahi.co.in




Open source tool
Sahi Pro – Commercial offering
Tester friendly
Light weight and scalable
V Narayan Raman
[email protected]
http://sahi.co.in/