Method and system for testing websites
DCFirst Claim
Patent Images
1. A non-transitory computer readable medium including at least computer program code for providing a test enabled web browser, said computer readable medium comprising:
- computer program code for providing web browsing capabilities; and
computer program code for testing capabilities of a website hosted by a server and accessible to a computer via a network,wherein the computer program code for testing capabilities of the website includes at least computer program code configured to receive a synchronization check from a user using the test enabled web browser, to insert the synchronization check into a test script for testing at least one webpage of the website, the test script being seperate from the at least one webpage being tested, the at least one webpage being tested including AJAX programming, and to automatically synchronize playback of the test script using at least the synchronization check to maintain the test enabled browser'"'"'s state with respect to the AJAX programming by means of the synchronization check in the test script to a Document Object Model (DOM) associated with the at least one webpage of the website,wherein the synchronization check in the test script and web browsing activities provided by the web browsing capabilities are able to separately access the DOM associated with the at least one webpage of the website, andwherein the synchronization check is inserted into the test script as at least one command, and the at least one command operates, when executed, to;
find a current index of at least one DOM element of the at least one webpage based on a specified property name and/or property value; and
(i) submit a named event to the at least one DOM element of the at least one webpage having the current index, or (ii) insert or verify a value in the at least one DOM element of the at least one webpage having the current index.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
Methods and systems to test of web browser enabled applications are disclosed. In one embodiment, a browser application can allow a user to perform test and analysis processes on a candidate web browser enabled application. The test enabled browser can use special functions and facilities that are built into the test enabled browser. One implementation of the invention pertains to functional testing, and another implementation of the invention pertains to pertains to site analysis.
-
Citations
25 Claims
-
1. A non-transitory computer readable medium including at least computer program code for providing a test enabled web browser, said computer readable medium comprising:
-
computer program code for providing web browsing capabilities; and computer program code for testing capabilities of a website hosted by a server and accessible to a computer via a network, wherein the computer program code for testing capabilities of the website includes at least computer program code configured to receive a synchronization check from a user using the test enabled web browser, to insert the synchronization check into a test script for testing at least one webpage of the website, the test script being seperate from the at least one webpage being tested, the at least one webpage being tested including AJAX programming, and to automatically synchronize playback of the test script using at least the synchronization check to maintain the test enabled browser'"'"'s state with respect to the AJAX programming by means of the synchronization check in the test script to a Document Object Model (DOM) associated with the at least one webpage of the website, wherein the synchronization check in the test script and web browsing activities provided by the web browsing capabilities are able to separately access the DOM associated with the at least one webpage of the website, and wherein the synchronization check is inserted into the test script as at least one command, and the at least one command operates, when executed, to;
find a current index of at least one DOM element of the at least one webpage based on a specified property name and/or property value; and
(i) submit a named event to the at least one DOM element of the at least one webpage having the current index, or (ii) insert or verify a value in the at least one DOM element of the at least one webpage having the current index. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer readable medium including at least computer program code for providing a test enabled web browser, said computer readable medium comprising:
-
computer program code for providing web browsing capabilities; and computer program code for testing capabilities of a website hosted by a server and accessible to the computer via a network, wherein the computer program code for testing capabilities of the website provides playback of one or more test scripts, the one or more test scripts being separate from the website, wherein the computer program code for testing capabilities is configured to keep track of named DOM element property values within a webpage of the website to provide support for playback of one or more test scripts that were recorded from and/or are played back via the test enabled web browser, wherein the use of the named DOM element property values provides support for synchronizing playback of the one or more test scripts and allows the computer program code for testing capabilities of the website of the test enabled web browser to compensate for at least a portion of the webpage being dynamically generated by AJAX programming, and wherein at least one command is provided in the one or more test scripts, and the at least one command operates, when performed, to;
find a current index of at least one DOM element of the webpage based on a specified property name and/or property value; and
(i) submit a named event to the at least one DOM element of the webpage having the current index, or (ii) insert or verify a value in the at least one DOM element of the webpage having the current index.
-
-
7. A non-transitory computer readable storage device storing components that when executed on a computing device provide an application program for testing a website hosted by a remote server, the website having at least one webpage, and the webpage of the website being presented by browsing via the computing device, said computer readable storage device comprising:
-
a script component, executed by the computing device, to record at least one test script that reproduces and times user actions and responses; a script playback component, executed by the computing device, to playback the at least one test script; a page evaluation component, executed by the computing device, to read, and analyze the contents of webpage components, including DOM elements and other objects; and a synchronization component, operating in parallel with browsing the webpage via the the computing device, to automatically synchronize playback of the at least one test script by said script playback component to maintain browser state while testing the webpage including AJAX programming through use of one or more user-provided checks of the current Document Object Model (DOM) contents provided in the at least one test script such that the playback of the at least one test script is able to be synchronized even though the webpage includes the AJAX programming, wherein the one or more user-provided checks provided in the at least one test script include at least one command, and the at least one command operates, when executed, to;
find a current index of at least one DOM element of the webpage based on a specified property name and/or property value; and
(i) submit a named event to the at least one DOM element of the webpage having the current index, or (ii) insert or verify a value in the at least one DOM element of the webpage having the current index. - View Dependent Claims (8, 9, 10)
-
-
11. A non-transitory computer readable medium including at least computer program code stored therein and operable by a computer to test one or more webpages of a website, the computer readable medium comprising:
-
computer program code for accessing at least one webpage of the one or more webpages of the website so as to provide browser activities; computer program code for programmatically manipulating a test script in accordance with user input, the test script being separate from the one or more webpages of the website; and computer program code for performing the manipulated test script to perform a test on the at least one webpage of the website to be tested, wherein the computer program code for programmatically manipulating the test script facilitates insertion of at least one synchronization check into the test script so that the at least one synchronization check can enable the manipulated test script to synchronize with the at least one webpage including AJAX programming, wherein the at least one webpage has a Document Object Model (DOM) associated therewith, wherein the at least one synchronization check inserted into the test script is operable to interact with at least one DOM element of the DOM in parallel with access to the DOM by the browser activities, and wherein the at least one synchronization check is inserted into the test script as at least one command, and the at least one command operates, when executed, to;
find a current index of at least one DOM element of a webpage of the website based on a specified property name and/or property value; and
(i) submit a named event to the at least one DOM element of the webpage having the current index, or (ii) insert or verify a value in the at least one DOM element of the webpage having the current index. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
12. A non-transitory computer readable medium including at least computer program code stored therein and operable by a computer program code stored therein and operable by a computer to test one or more webpages of a website, the computer readable medium comprising:
-
computer program code for accessing at least one webpage of the one or more webpages of the website so as to provide browser activities; computer program code for programmatically manipulating a test script in accordance with user input, the test script being separate from the one or more webpages of the website; and computer program code for performing the manipulated test script to perform a test on the at least one webpage of the website to be tested, wherein the computer program code for programmatically manipulating the test script facilitates insertion of at least one synchronization check into the test script so that the at least one synchronization check can enable the manipulated test script to synchronize with the at least one webpage including AJAX programming, wherein the at least one webpage has a Document Object Model (DOM) associated therewith, wherein the at least one synchronization check inserted into the test script is operable to interact with at least one DOM element of the DOM in parallel with access to the DOM by the browser activities, and wherein the computer program code for programmatically manipulating the test script comprises computer program code for inserting at least one command into the test script, the at least one command pertaining to at least a portion of the at least one synchronization check, and operates to perform the following acts; finding a current index of at least one DOM element based on specified property names and/or property values; moving the current index up or down on the page, by specifying a number of steps up and down on the webpage; and submitting a named event to the current index of the at least one DOM element of the webpage, and/or inserting values of properties of the current index of the at least one DOM element of the webpage. - View Dependent Claims (13, 14, 15)
-
Specification