SlideShare a Scribd company logo
1 of 9
Testing Dynamic Web Sites V. Narayan Raman Tyto Software
Xpath does not query by text well     <div>This is <b>Bold</b></div> //div[text()=‘This is Bold’] ? _div(“This is Bold”) Waits are needed at each step Explicit waits: Have to code for worst case scenario Implicit waits: Recover and retry Tester is forced to understand HTML structures and Javascript nuances.  Common Problems
Proxy based approach Injects Javascript into browser Any Javascript enabled browser, any OS Drives a real browser Identifies elements smartly Implicitly waits for AJAX, page loads and timeouts Sahi – Web Test Automation Tool
//table[@id='listing']/tbody/tr[2]/td[4]/input //table[@id='listing']/tbody/tr[3]/td[4]/input Or  _textbox(“q”, _near(_cell("Core Java"))) _textbox(“q”, _near(_cell("Ruby for Rails"))) XPathvs Sahi APIs
Visible properties take precedence Tests should reflect what the tester sees Not what the developer wrote Frames, iframes, layouts are all developer aids to partition information. They need not be visible in tests, though they should be assertable. Waits are inherent in a web application and should be automatically handled Sahi Philosophy
Use various visible attributes first Text, Value, Alt, Title etc. Allow identification in a context _checkbox(“x”, _near(_cell(“name”))) Allow Regular Expression and fuzzy matches Normalize white spaces across browsers Automatically look through frames and iframes. Sahi Identification Strategy
The simplest possible thing What is not allowed by the Browser Sandbox, delegate to proxy File Uploads 401 Authentication File downloads Browsers may change Javascript and Proxies are here to stay Proxy based approach
Allows recording, debugging and object identification on any browser via injected Javascript Can add automation on the fly Even wrap flash/applets etc. when needed Moving between domains, even accessing multi domains in frames/iframes are possible. Proxy based approach
Allows powerful Sahi APIs, normalized across browsers Allows monitoring of AJAX requests and Frame loads to automatically wait till no activity Javascript events do not require focus, allowing parallel playback Injected Javascript

More Related Content

Similar to GTAC 2010 -

Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
alice yang
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp Architecture
Morgan Cheng
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)
Samnang Chhun
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
Carles Farré
 

Similar to GTAC 2010 - (20)

Web performance testing
Web performance testingWeb performance testing
Web performance testing
 
Automated Frontend Testing
Automated Frontend TestingAutomated Frontend Testing
Automated Frontend Testing
 
Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMix
 
I Feel Pretty
I Feel PrettyI Feel Pretty
I Feel Pretty
 
Boston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesBoston Computing Review - Java Server Pages
Boston Computing Review - Java Server Pages
 
Jsp
JspJsp
Jsp
 
Ajax
AjaxAjax
Ajax
 
JSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTLJSP Standart Tag Lİbrary - JSTL
JSP Standart Tag Lİbrary - JSTL
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
 
GWT
GWTGWT
GWT
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp Architecture
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security Vulnerabilities
 
Developing PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan FrameworkDeveloping PHP Web Applications with the Raxan Framework
Developing PHP Web Applications with the Raxan Framework
 
Dhanasekaran 2008-2009 Quick Test Pro Presentation
Dhanasekaran 2008-2009 Quick Test Pro PresentationDhanasekaran 2008-2009 Quick Test Pro Presentation
Dhanasekaran 2008-2009 Quick Test Pro Presentation
 
First QTP Tutorial
First QTP TutorialFirst QTP Tutorial
First QTP Tutorial
 
QTP Tutorial Slides Presentation.
QTP Tutorial Slides Presentation.QTP Tutorial Slides Presentation.
QTP Tutorial Slides Presentation.
 
Understanding Web Applications and Web Testing Tools - QAConf
Understanding Web Applications and Web Testing Tools - QAConfUnderstanding Web Applications and Web Testing Tools - QAConf
Understanding Web Applications and Web Testing Tools - QAConf
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

GTAC 2010 -

  • 1. Testing Dynamic Web Sites V. Narayan Raman Tyto Software
  • 2. Xpath does not query by text well <div>This is <b>Bold</b></div> //div[text()=‘This is Bold’] ? _div(“This is Bold”) Waits are needed at each step Explicit waits: Have to code for worst case scenario Implicit waits: Recover and retry Tester is forced to understand HTML structures and Javascript nuances. Common Problems
  • 3. Proxy based approach Injects Javascript into browser Any Javascript enabled browser, any OS Drives a real browser Identifies elements smartly Implicitly waits for AJAX, page loads and timeouts Sahi – Web Test Automation Tool
  • 4. //table[@id='listing']/tbody/tr[2]/td[4]/input //table[@id='listing']/tbody/tr[3]/td[4]/input Or _textbox(“q”, _near(_cell("Core Java"))) _textbox(“q”, _near(_cell("Ruby for Rails"))) XPathvs Sahi APIs
  • 5. Visible properties take precedence Tests should reflect what the tester sees Not what the developer wrote Frames, iframes, layouts are all developer aids to partition information. They need not be visible in tests, though they should be assertable. Waits are inherent in a web application and should be automatically handled Sahi Philosophy
  • 6. Use various visible attributes first Text, Value, Alt, Title etc. Allow identification in a context _checkbox(“x”, _near(_cell(“name”))) Allow Regular Expression and fuzzy matches Normalize white spaces across browsers Automatically look through frames and iframes. Sahi Identification Strategy
  • 7. The simplest possible thing What is not allowed by the Browser Sandbox, delegate to proxy File Uploads 401 Authentication File downloads Browsers may change Javascript and Proxies are here to stay Proxy based approach
  • 8. Allows recording, debugging and object identification on any browser via injected Javascript Can add automation on the fly Even wrap flash/applets etc. when needed Moving between domains, even accessing multi domains in frames/iframes are possible. Proxy based approach
  • 9. Allows powerful Sahi APIs, normalized across browsers Allows monitoring of AJAX requests and Frame loads to automatically wait till no activity Javascript events do not require focus, allowing parallel playback Injected Javascript