Patent Issued for Webpage testing tool (USPTO 11194456): Allstate Insurance Company
2021 DEC 23 (NewsRx) -- By a
The assignee for this patent, patent number 11194456, is
Reporters obtained the following quote from the background information supplied by the inventors: “A webpage is a page or document accessible via the Internet using a web browser. Webpages may include various elements that, when interpreted by a web browser, cause the web browser to display text, images, video, etc. Webpages are typically written using the HyperText Markup Language (HTML) and/or another type of markup language, such as the Extensible Markup Language (XML). A single webpage may contain hundreds or thousands (or more) of lines of code. Given the complexity of some webpages and the enormous amount of code, it is not uncommon for web developers to make errors or build in inefficiencies when writing code for a webpage. Some errors may cause the webpage to function incorrectly or not function at all, while some inefficiencies may detract from the webpage’s performance (e.g., slowdown the load time of the webpage). Finding these errors and inefficiencies may be difficult given the large amount of code. Moreover, this problem is exacerbated by the fact that there are often multiple webpages in a single website and that many websites undergo somewhat frequent changes. Further, the nature of programming is such that making one change to fix one issue can cause another issue to arise.
“To ensure webpages will work properly and efficiently, people may be hired to test webpages. Indeed, some companies employ people to test their webpages, particularly when they expect to make somewhat frequent changes. These testers are given the task of accessing and interacting with webpages to see how they respond to certain test inputs and to identify “bugs” in the webpage. In some cases, testers use software tools for capturing the HyperText Transfer Protocol (HTTP) requests. Such HTTP requests may include numerous variables and values thereof as well as other values of headers, cookies, and query strings. The testers must review the HTTP requests line-by-line to identify problematic values. Because it is difficult to spot problematic values, some testers compare HTTP requests of a version of a webpage that they know works (or is acceptable) with HTTP requests of a version of the webpage that they are testing. This testing by comparison may be referred to as regression testing. Still, when performing regression testing, the testers must go back-and-forth between the requests and compare them line-by-line. As such, testing may be a tedious task that is prone to human errors and slows down the development and evolution of webpages.
“The above described testing is mostly performed prior to publishing the webpage online or soon thereafter. After a webpage has been tested and is made accessible to the public, the webpage’s performance may be monitored. Monitoring may include using software to collect network traffic and eyeballing the network traffic to identify concerns. HTTPWATCH and FIDDLER are two such tools for collecting and monitoring webpage traffic. Additionally, monitoring may include analyzing web analytics that are captured by cookies or other tags inserted into the webpage to collect web analytics as visitors access and interact with the webpage. While monitoring a webpage may be useful from a marketing standpoint, it is often preferable to discover and remedy problems with a webpage before it becomes publicly available.
“Accordingly, new systems, devices, methodologies, and software are desired to simplify analysis and verification of new and/or updated webpages to improve the accuracy of testing webpages and/or reduce the amount of time used for testing webpages.”
In addition to obtaining background information on this patent, NewsRx editors also obtained the inventors’ summary information for this patent: “In light of the foregoing background, the following presents a simplified summary of the present disclosure in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
“Aspects of the disclosure address one or more of the issues mentioned above by disclosing methods, computer readable storage media, software, systems, and apparatuses for testing whether new and updated webpages are working properly. Aspects of the disclosure provide a tool for simplifying the analysis and verification of properties of webpages so that testing may be performed accurately and relatively quickly. For example, the tool may be used to verify that a particular variable has a particular value when an HTTP request (in which one or more variables and their parameters are passed as parameters) is made. The tool may be implemented as a standalone software program/application or a web-based program/application. The tool may provide a user interface for testers to use when testing a new or updated webpage. The tool may be used to parse an HTTP request generated when testing the webpage. The tool may parse multiple HTTP requests at the same time or in response to a single command. Upon parsing the request(s), the tool may sort out variables of the request and organize them in a table. The tool may allow the tester to choose which variables to evaluate. The tool may also generate a table with the values of each of the variables in each of the HTTP requests. As a user selects different variables to evaluate, the table may automatically update to reflect the values of only the selected variables.
“Further, the tool may provide automatic regression testing. That is, the tool may compare a value for a variable of a previously verified HTTP request (also referred to herein as a standard or control request) with a value of a variable of a test HTTP request. The tool may automatically determine whether the values of corresponding variables match and output a pass or fail indicator accordingly. In the event of a failure, the tool may indicate which variable(s) caused the respective HTTP request to fail to meet a desired result. The tool may compare values for multiple pairs of variables at the same time or in response to a single command. Also, the tool may form two tables of variables side-by-side: one for the standard HTTP request and one for the test HTTP request. As a tester scrolls in one table, the tool may automatically scroll the other table so that the views of both tables are similar. Additionally, the tool may provide the ability to choose the order of the variables and freeze the scrolling in one table to continually view a set of variables while scrolling another table view other variables.
“In addition, the tool allows for generation of a test. A test may include one or more rules. Each rule may specify a variable to be tested and at least one parameter as criteria for testing the variable. For example, a rule may be established to check whether a value of a variable in the test HTTP request matches a particular value set by the tester. In another example, a rule may be established to check whether a variable fires (e.g., whether a variable has a value other than null or is not empty). In yet another example, a rule may be established to check that a variable does not fire (e.g., that the variable has a null value or is empty). The tool may save generated tests, including its rules, for use in testing other HTTP requests for other webpages or future versions of the same webpage. Also, the tool may allow testers to indicate the status of the test as well as provide comments. Moreover, the tool provides the ability to import and export saved tests for collaboration between multiple testers and for documentation of testing results.
“Aspects of this disclosure provide a system comprising a first computing device (e.g., server) configured to provide a webpage and a second computing device in communication with the first computing device. The second computing device may transmit a request (e.g., HTTP request or HTTPS request) to the first computing device in response to a selection to load the webpage or a selection of an element on the webpage. The second computing device may be configured to implement or employ a testing tool for testing the webpage. The second computing device may be configured to parse the request to identify one or more variables of the request, display a user interface comprising a list of the one or more variables, and generate a table for display within the user interface. The table may include a column for each of the one or more variables that is selected.”
The claims supplied by the inventors are:
“1. A method, comprising: capturing, by a computing device, one or more requests transmitted based on a selection to load a webpage or a selection of an element on the webpage; displaying the one or more requests in a first pane within a user interface on a display; parsing the one or more requests to identify a plurality of variables of the one or more requests; displaying, in a second pane within the user interface on the display, a list of the plurality of variables; receiving a selection of one or more variables from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the one or more variables from the list of the plurality of variables; displaying a table in a third pane within the user interface on the display, wherein the table comprises one or more rows and one or more columns, each row of the one or more rows corresponds to a corresponding request of the one or more requests, and each column of the one or more columns corresponds to a corresponding variable of the selected one or more variables, wherein while the one or more requests are being displayed in the first pane within the user interface on the display, the list is being displayed in the second pane within the user interface on the display and the table is being displayed in the third pane within the user interface on the display; receiving a selection of an additional variable from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the additional variable from the list of the plurality of variables; and updating the third pane by adding an additional column corresponding to the additional variable.
“2. The method of claim 1, further comprising: receiving a deselection of a variable from the selected one or more variables; updating the second pane to indicate the deselection of the variable; and updating the third pane by removing, from the one or more columns of the table, a column corresponding to the deselected variable.
“3. The method of claim 1, wherein each request of the one or more requests comprises a HyperText Transfer Protocol (HTTP) request or a HyperText Transfer Protocol Secure (HTTPS) request.
“4. The method of claim 1, wherein the parsing comprises one or more of: identifying each of the one or more requests; determining a quantity of the one or more requests; or separating the one or more requests by storing the one or more requests into one or more different arrays.
“5. The method of claim 1, wherein each row of the one or more rows of the table comprises values of the selected one or more variables of a corresponding request of the one or more requests.
“6. The method of claim 1, further comprising: exporting the table for use with an application.
“7. A non-transitory computer-readable storage medium having computer-executable program instructions stored thereon that when executed by a processor, cause the processor to perform steps comprising: capturing one or more requests transmitted based on a selection to load a webpage or a selection of an element on the webpage; displaying the one or more requests in a first pane within a user interface on a display; parsing the one or more requests to identify a plurality of variables of the one or more requests; displaying, in a second pane within the user interface on the display, a list of the plurality of variables; receiving a selection of one or more variables from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the one or more variables from the list of the plurality of variables; displaying a table in a third pane within the user interface on the display, wherein the table comprises one or more rows and one or more columns, each row of the one or more rows corresponds to a corresponding request of the one or more requests, and each column of the one or more columns corresponds to a corresponding variable of the selected one or more variables, wherein while the one or more requests are being displayed in the first pane within the user interface on the display, the list is being displayed in the second pane within the user interface on the display and the table is being displayed in the third pane within the user interface on the display; receiving a selection of an additional variable from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the additional variable from the list of the plurality of variables; and updating the third pane by adding an additional column corresponding to the additional variable.
“8. The computer-readable storage medium of claim 7, wherein the computer-executable program instructions, when executed by the processor, further cause the processor to perform: receiving a deselection of a variable from the selected one or more variables; updating the second pane to indicate the deselection of the variable; and updating the third pane by removing, from the one or more columns of the table, a column corresponding to the deselected variable.
“9. The computer-readable storage medium of claim 7, wherein each request of the one or more requests comprises a HyperText Transfer Protocol (HTTP) request or a HyperText Transfer Protocol Secure (HTTPS) request.
“10. The computer-readable storage medium of claim 7, wherein the computer-executable program instructions, when executed by the processor, further cause the processor to perform the parsing by one or more of: identifying each of the one or more requests; determining a quantity of the one or more requests; or separating the one or more requests by storing the one or more requests into one or more different arrays.
“11. The computer-readable storage medium of claim 7, wherein each row of the one or more rows of the table comprises values of the selected one or more variables of a corresponding request of the one or more requests.
“12. The computer-readable storage medium of claim 7, wherein the computer-executable program instructions, when executed by the processor, further cause the processor to perform: exporting the table for use with an application.
“13. An apparatus comprising: a processor; and a memory configured to store computer-readable instructions that, when executed by the processor, cause the apparatus to perform: capturing one or more requests transmitted based on a selection to load a webpage or a selection of an element on the webpage; displaying the one or more requests in a first pane within a user interface on a display; parsing the one or more requests to identify a plurality of variables of the one or more requests; displaying, in a second pane within the user interface on the display, a list of the plurality of variables; receiving a selection of one or more variables from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the one or more variables from the list of the plurality of variables; displaying a table in a third pane within the user interface on the display, wherein the table comprises one or more rows and one or more columns, each row of the one or more rows corresponds to a corresponding request of the one or more requests, and each column of the one or more columns corresponds to a corresponding variable of the selected one or more variables, wherein while the one or more requests are being displayed in the first pane within the user interface on the display, the list is being displayed in the second pane within the user interface on the display and the table is being displayed in the third pane within the user interface on the display; receiving a selection of an additional variable from the list of the plurality of variables displayed in the second pane; updating the second pane to indicate the selection of the additional variable from the list of the plurality of variables; and updating the third pane by adding an additional column corresponding to the additional variable.
“14. The apparatus of claim 13, wherein the computer-readable instructions, when executed by the processor, further cause the apparatus to perform: receiving a deselection of a variable from the selected one or more variables; updating the second pane to indicate the deselection of the variable; and updating the third pane by removing, from the one or more columns of the table, a column corresponding to the deselected variable.
“15. The apparatus of claim 13, wherein each request of the one or more requests comprises a HyperText Transfer Protocol (HTTP) request or a HyperText Transfer Protocol Secure (HTTPS) request.
“16. The apparatus of claim 13, wherein the computer-readable instructions, when executed by the processor, cause the apparatus to perform the parsing by one or more of: identifying each of the one or more requests; determining a quantity of the one or more requests; or separating the one or more requests by storing the one or more requests into one or more different arrays.
“17. The apparatus of claim 13, wherein each row of the one or more rows of the table comprises values of the selected one or more variables of a corresponding request of the one or more requests.”
For more information, see this patent: Berg, John Michael. Webpage testing tool.
(Our reports deliver fact-based news of research and discoveries from around the world.)
“Unsubscribe and Delete Automation” in Patent Application Approval Process (USPTO 20210385181): Allstate Insurance Company
Patent Issued for Systems and methods for delivering vehicle-specific educational content for a critical event (USPTO 11195425): Allstate Insurance Company
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News