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/