|
US Patent 7,757,175 -- -- Method and System for Testing Websites -- 13 July 2010
1. A computer readable medium storing a test-enabled web browser for operation on a computing device to test a website hosted by a remote server, the website having at least one webpage, said test-enabled browser comprising: web browsing components; a script component that operates to record and replay at least one test script that reproduces and times user actions and responses; an adaptive script playback component that operates to adapt playback to account for nearly correct matches between recorded facts and actual page properties; a page evaluation component that operates to read, extract, and analyze and confirm the contents of page components, including DOM elements and other objects; and a graphical user interface to provide user access to at least said web browsing components and said script component.
2. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein the computing device utilizes a cache, and wherein said test-enabled web browser further comprises: a browser cache control component that operates to allow tests of the website to selectively use or not use data residing within the browser cache when testing the website.
3. A computer readable medium storing said test-enabled web browser as recited in claim 2, wherein the browser cache stores copies of webpages and one or more cookies.4. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a logging component that operates to permit said test-enabled browser to write details of test execution to a log file for post-test analysis.
5. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a value substitution component that operates to automatically create and adjust input values, through parametric substitution of values into the test script.
6. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a link check component that operates to check links on at least one webpage dynamically.
7. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a button check component that operates to check buttons on at least one webpage dynamically.
8. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a synchronization component that operates to automatically synchronize page delivery, including downloading and rendering, to assure test accuracy.
9. A computer readable medium storing said test-enabled web browser as recited in claim 1, wherein said test-enabled web browser further comprises: a load testing component that operates to test the remote server regarding the webpage in accordance with a load.
10. A computer readable medium storing said test-enabled web browser as recited in claim 9, wherein when said load testing component is activated, a number of multiple copies of said test-enabled web browser operate on the computing device, with each of the multiple copies of said test-enabled browser separately executing a test script, and wherein the load applied to the remote server by the number of multiple copies of said test-enabled web browser is dependent on that number and on the test scripts being executed thereby.
11. A computer readable medium storing a test-enabled web browser for operation on a computing device to test a website hosted by a remote server, the website having as least one webpage, said test enabled browser comprising: web browsing components; a page evaluation component that operates to read, extract, and analyze and confirm the contents of page components, including Document Object Model (DOM) elements with their associated at least one index and their values; a test data component that operates to store facts about the at least one webpage; and a graphical user interface to provide user access to at least said web browsing components and at least one of said page evaluation component and said test data component.
12. A computer readable medium storing said test-enabled web browser as recited in claim 11, wherein said test-enabled web browser further comprises: a URL list component that operates to determine detailed DOM properties of the current contents of the webpage being evaluated in order create a list of linked-to URLs; and a link examination component that operates to access and examine the content at the URLs within the list of linked-to URLs.13. A computer readable medium storing said test-enabled web browser as recited in claim 11, wherein said test-enabled web browser further comprises: a URL list component that operates to (i) determine detailed DOM properties of the current contents of the webpage being evaluated in order create a list of linked-to URLs, and (ii) exclude at least one URL from the list of linked-to URLs based on URL string properties or position of the at least one URL in relation to the URL for the website; and a link examination component that operates to access and examine the content at the URLs remaining within the list of linked-to URLs.
14. A computer readable medium storing said test-enabled web browser as recited in claim 11, wherein said test-enabled web browser further comprises: a synchronization component that operates to automatically synchronize page delivery, including downloading and rendering.
15. A computer readable medium storing said test-enabled web browser as recited in claim 11, wherein said test-enabled web browser further comprises: a scan start component that operates to indicate where a scan of the website is to begin and where it is to end.16. A computer readable medium storing said test-enabled web browser as recited in claim 11, wherein said test-enabled web browser further comprises: a page examination component that operates to examine the webpage to determine if the webpage meets user-specified criteria.
17. A method for testing a website residing on a network using a test-enabled browser, said method comprising: accessing a website to be tested using the test-enabled browser; selecting a validation test to be performed; and performing the validation test using the test-enabled browser, wherein prior to said performing of the validation test for a particular web page, the particular web page is rendered by the test-enabled browser and examined so as to at least (i) extract details of the particular web page using Document Object Model (DOM) elements pertaining to the web page with their associated at least one index and their values, and (ii) store the details of the particular web page in a recorded script, and wherein during said performing, the particular web page is newly rendered by the test-enabled browser and details for the particular web page as newly rendered are compared to the stored details in the recorded script.
18. A method as recited in claim 17, wherein said performing of the validation comprises: examining a web page using a rendering of the web page by the test-enabled browser.19. A method as recited in claim 17, wherein said performing of the validation test comprises: recording a script pertaining to an interaction sequence with the web page; and subsequently playing back the script to confirm content of the web page and/or perform validations.
20. A method as recited in claim 19, wherein said performing of the validation test comprises: adaptively playing back the script.
21. A method as recited in claim 17, wherein the web page includes a plurality of component parts, and wherein said performing of the validation test comprises: determining download timings for at least the component parts of the web page.
22. A method as recited in claim 17, wherein a web server hosts the web page, and wherein said performing of the validation test or evaluation comprises inducing a load on the web server by concurrently playing multiple scripts, wherein said inducing launches a separate test-enabled browser for each of the scripts and each of the test-enabled browsers plays a script, and wherein all the test-enabled browsers play the same script and operate on a common computer being operatively connectable to the network.
23. A method as recited in claim 1, wherein said web browsing components are IE web browsing components associated with an IE browser.
24. A method as recited in claim 23, wherein said web browsing components are code resources stored in an IE based library associated with the IE browser.
25. A computer readable medium including at least computer program code stored therein for providing a test-enabled browser for testing a website residing on a network, said computer readable medium comprising: computer program code for interfacing with web browsing components a browser code library; computer program code for accessing a website to be tested using the test-enabled browser; computer program code for rendering and examining at least one web page of the website so as to at least (i) extract details of the web page using Document Object Model (DOM) elements pertaining to the web page with their associated at least one index and their values, and (ii) store the details of the web page in a recorded script; computer program code for selecting a validation test to be performed; and computer program code for performing the validation test using at least a portion of the web browsing components, wherein during the validation test, the at least one web page is newly rendered and details for the at least one web page as newly rendered are compared to the stored details in the recorded script.
26. A computer readable medium as recited in claim 25, wherein said web browsing components are IE web browsing components associated with an IE browser.
27. A computer readable medium as recited in claim 23, wherein said web browsing components are code resources stored in an IE based library associated with the IE browser.