News »Browse Articles »
Software Testing -Pattern For Automating Web Application
0
Software Testing -Pattern For Automating Web Application
One of the key reasons for doing automated testing is to ensure that time is not spent on doing repetitive tasks which can be completed by tools without human intervention. Automation could be one of the most effective tools in your toolbox but it is not a silver bullet that will solve all the problems and improve quality. Automation tools are obedient servants, and as a tester we need to become their master and use them properly to realize their full potential. It is very important to understand that automation tools are only as good as we use them. Converting test cases from manual to automated is not the best use of automation tools. They can be used in much more effective ways.
Creating robust and useful test automation framework is a very difficult task. In the web world, this task becomes even more difficult because things might change overnight. If we follow so called best practices of automation taken from stable, desktop applications, they will not be suitable in web environment and probably will have negative impact on the project`s quality.
Many problems in the web world are identical to one another. For example irrespective of any web application we always need to validate things such as presence of title on all the pages.Depending on your context may be the presence of meta data on every page, presence of tracking code, presence of ad code, size and number of advertising units and so on.
Solution presented in this article can be used to validate all, or any of the rules mentioned above , across all the pages in any domain / website. We were given a mandate to ensure that specific tracking code is present on all the pages of a big website. In a true agile fashion, once this problem was solved it was extended and re-factored to incorporate many rules on all the pages.
This solution was developed using Selenium Remote Control with Python as scripting language. One of the main reason for using tools such as Selenium RC is their ability to allow us to code in any language and this allow us to utilize full power of standard language. For this solution, a python library called Beautiful Soup was used to parse HTML pages. This solution was ported to another tool called Twill to make it faster. Since the initial code was also developed in Python, converting it to Twill was a piece of cake.
Essentially this solution / script is a small web crawler, which will visit all the pages of any website and validate certain rules. As mentioned earlier, problem statement for this is very simple i.e. “ Validate certain rules on every webpage for any given website ”. In order to achieve this, following steps were followed
1.Get Page
2. Get All the links
3. Get first link and if link is not external and crawler has not visited it, open link.
4. Get Page Source
5. Validate all the rules you want to validate on this page
6. Repeat 1 to 5 for all the pages.
It is worth mentioning here that rules that can be validated using this framework are the rules, which can be validated by looking at the source code for the page. Some of the rules that can be validated using this script are –
Make sure that title is present for all the pages and is not generic
Check the presence of meta tags like keywords and description on all the pages.
Ensure that instrumentation code is present on all the pages
Ensure that every image has an alternative text associated with it
Ensure that ad code is coming from the right server and has all the relevant information we need.
Ensure that size of the banners and skyscrapers used for advertisement is proper.
Ensure that every page contain at least two advertisements and no page should have more than four advertisements, except home page.
Ensure that master CSS is applied on all the pages for a given domain.
Make sure that all the styles are coming from the CSS files and styles are not present for any element on a web page.
Source:
http://www.testinggeek.com/index.php/testing-articles/143-web-application-automa
Creating robust and useful test automation framework is a very difficult task. In the web world, this task becomes even more difficult because things might change overnight. If we follow so called best practices of automation taken from stable, desktop applications, they will not be suitable in web environment and probably will have negative impact on the project`s quality.
Many problems in the web world are identical to one another. For example irrespective of any web application we always need to validate things such as presence of title on all the pages.Depending on your context may be the presence of meta data on every page, presence of tracking code, presence of ad code, size and number of advertising units and so on.
Solution presented in this article can be used to validate all, or any of the rules mentioned above , across all the pages in any domain / website. We were given a mandate to ensure that specific tracking code is present on all the pages of a big website. In a true agile fashion, once this problem was solved it was extended and re-factored to incorporate many rules on all the pages.
This solution was developed using Selenium Remote Control with Python as scripting language. One of the main reason for using tools such as Selenium RC is their ability to allow us to code in any language and this allow us to utilize full power of standard language. For this solution, a python library called Beautiful Soup was used to parse HTML pages. This solution was ported to another tool called Twill to make it faster. Since the initial code was also developed in Python, converting it to Twill was a piece of cake.
Essentially this solution / script is a small web crawler, which will visit all the pages of any website and validate certain rules. As mentioned earlier, problem statement for this is very simple i.e. “ Validate certain rules on every webpage for any given website ”. In order to achieve this, following steps were followed
1.Get Page
2. Get All the links
3. Get first link and if link is not external and crawler has not visited it, open link.
4. Get Page Source
5. Validate all the rules you want to validate on this page
6. Repeat 1 to 5 for all the pages.
It is worth mentioning here that rules that can be validated using this framework are the rules, which can be validated by looking at the source code for the page. Some of the rules that can be validated using this script are –
Make sure that title is present for all the pages and is not generic
Check the presence of meta tags like keywords and description on all the pages.
Ensure that instrumentation code is present on all the pages
Ensure that every image has an alternative text associated with it
Ensure that ad code is coming from the right server and has all the relevant information we need.
Ensure that size of the banners and skyscrapers used for advertisement is proper.
Ensure that every page contain at least two advertisements and no page should have more than four advertisements, except home page.
Ensure that master CSS is applied on all the pages for a given domain.
Make sure that all the styles are coming from the CSS files and styles are not present for any element on a web page.
Source:
http://www.testinggeek.com/index.php/testing-articles/143-web-application-automa
Search News
News Categories
What's the News?
Post a link to something interesting from another site, or submit your own original writing for the Testing community to read.
Most Popular News
-
How to Test Web Applications against SQL Injection Attacks
Published about 30-01-2009 | Rated +2 -
Top 20 practical software testing tips
Published about 02-02-2009 | Rated +2 -
India to lead in software testing
Published about 01-02-2009 | Rated +2 -
Software installation / uninstallation testing
Published about 16-02-2009 | Rated 0
Most Recent User Submitted News
- Careers in Software Testing
Published about 05-05-2009 | Rated 0 - Benefits and Types of Software Testing Tools
Published about 20-11-2009 | Rated 0 - Two Tier & Three tier Architecture
Submitted by Ravi | Rated 0 - India to lead in software testing
Published about 01-02-2009 | Rated +2







