SYSTEM, METHOD, AND COMPUTER PROGRAM FOR TESTING THE ACCURACY OF SOFTWARE THAT IDENTIFIES USER INTERFACE ELEMENTS ON A WEBPAGE
20230214585 · 2023-07-06
Inventors
- Dennis Hou (Melbourne, AU)
- Bill Vasiliadis (Melbourne, AU)
- Travis Coulter (Vancouver, CA)
- Jae Jung (Melbourne, AU)
- Adam Roth (Sunshine Coast, AU)
Cpc classification
G06F16/957
PHYSICS
G06F40/117
PHYSICS
G06F16/958
PHYSICS
G06F40/143
PHYSICS
G06F11/321
PHYSICS
International classification
G06F16/957
PHYSICS
G06F16/958
PHYSICS
G06F40/117
PHYSICS
Abstract
The present disclosure relates to a system, method, and computer program for testing the accuracy of software that identifies user interface (UI) elements on a webpage (“the auto-identifier software”). The system enables a user to tag UI elements on a webpage with labels. The system creates a normalized specification for the webpage, where the specification includes a mapping of UI elements to normalized labels. The system uses the auto-identifier software to identify UI elements on the webpage. The system evaluates the performance of the auto-identifier software with respect to the webpage using the specification. The system displays diagnostics related to the performance of the auto-identifier software. In certain embodiments, the method is used for testing the accuracy of autofill software on a webform. In certain embodiments, the method is used for testing the accuracy of cart-scraper software on a checkout page.
Claims
1. A method, performed by a computer system, for testing the accuracy of software that identifies UI elements on a webpage (“the auto-identifier software”), the method comprising: enabling a user to tag UI elements on a webpage with labels; creating a normalized specification for the webpage, wherein the specification is created by a browser extension automatically tagging fields with a label and a user correcting or adding one or more labels to their corresponding field(s) to create and store a representation of all possible UI elements on the webpage plus relevant metadata, wherein the relevant metadata does not include metadata related to styling or behavior, and wherein the specification includes a mapping of UI elements to normalized labels; using the auto-identifier software to identify UI elements on the webpage; evaluating the performance of the auto-identifier software with respect to the webpage using the stored specification; and displaying diagnostics related to the performance of the auto-identifier software.
2. The method of claim 1, wherein the UI elements are fields and wherein the auto-identifier software is designed to automatically fill in fields in a webform.
3. The method of claim 2, wherein the webform is a checkout page.
4. The method of claim 2, wherein the specification for the webform includes a mapping of fields on the webform to normalized field labels.
5. The method of claim 2, wherein evaluating the performance of the auto-identifier software comprises determining whether the auto-identifier software correctly identified and correctly filled the fields on the webform that the auto-identifier software is tasked with auto-filling and correctly ignored the fields on the webform that the auto-identifier software is not tasked with auto-filling.
6. The method of claim 1, wherein the UI elements are text markers and wherein the auto-identifier software is designed to automatically scrape checkout cart data from a webpage.
7. The method of claim 6, wherein the specification includes a mapping of cart data on the webpage to normalized labels.
8. The method of claim 1, wherein displaying diagnostics comprises displaying statistics regarding the performance of the autofill software on the webform.
9. The method of claim 1, wherein displaying diagnostics comprises displaying statistics related to the performance of the software for a select UI element across a plurality of webpages.
10. The method of claim 1, wherein enabling a user to tag UI elements on a webpage comprising providing a browser extension for a web browser that enables a user to tag UI elements on a webpage.
11. The method of claim 10, wherein the browser extension includes code that first automatically tags select UI elements with labels and then enables the user to edit the labels and tag additional UI elements.
12. A non-transitory computer-readable medium comprising a computer program, that, when executed by a computer system, enables the computer system to perform the following steps for testing the accuracy of software that identifies UI elements on a webpage (“the auto-identifier software”), the steps comprising: enabling a user to tag UI elements on a webpage with labels; creating a normalized specification for the webpage, wherein the specification is created by a browser extension automatically tagging fields with a label and a user correcting or adding one or more labels to their corresponding field(s) to create and store a representation of all possible UI elements on the webpage plus relevant metadata, wherein the relevant metadata does not include metadata related to styling or behavior, and wherein the specification includes a mapping of UI elements to normalized labels; using the auto-identifier software to identify UI elements on the webpage; evaluating the performance of the auto-identifier software with respect to the webpage using the stored specification; and displaying diagnostics related to the performance of the auto-identifier software.
13. The non-transitory computer-readable medium of claim 12, wherein the UI elements are fields and wherein the auto-identifier software is designed to automatically fill in fields in a webform.
14. The non-transitory computer-readable medium of claim 12, wherein the UI elements are text markers and wherein the auto-identifier software is designed to automatically scrape checkout cart data from a webpage.
15. The non-transitory computer-readable medium of claim 12, wherein displaying diagnostics comprises displaying statistics regarding the performance of the autofill software on the webform.
16. The non-transitory computer-readable medium of claim 12, wherein displaying diagnostics comprises displaying statistics related to the performance of the software for a select UI element across a plurality of webpages.
17. A computer system for testing the accuracy of software that identifies UI elements on a webpage (“the auto-identifier software”), the system comprising: one or more processors; one or more memory units coupled to the one or more processors, wherein the one or more memory units store instructions that, when executed by the one or more processors, cause the system to perform the operations of: enabling a user to tag UI elements on a webpage with labels; creating a normalized specification for the webpage, wherein the specification is created by a browser extension automatically tagging fields with a label and a user correcting or adding one or more labels to their corresponding field(s) to create and store a representation of all possible UI elements on the webpage plus relevant metadata, wherein the relevant metadata does not include metadata related to styling or behavior, and wherein the specification includes a mapping of UI elements to normalized labels; using the auto-identifier software to identify UI elements on the webpage; evaluating the performance of the auto-identifier software with respect to the webpage using the stored specification; and displaying diagnostics related to the performance of the auto-identifier software.
18. The computer system of claim 17, wherein the UI elements are fields and wherein the auto-identifier software is designed to automatically fill in fields in a webform.
19. The computer system of claim 17, wherein the UI elements are text markers and wherein the auto-identifier software is designed to automatically scrape checkout cart data from a webpage.
20. The computer system of claim 17, wherein displaying diagnostics comprises displaying statistics regarding the performance of the autofill software on the webform.
21. The computer system of claim 17, wherein displaying diagnostics comprises displaying statistics related to the performance of the software for a select UI element across a plurality of webpages.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] The present disclosure describes a system, method, and computer program for testing the accuracy of software that identifies user interface elements on a webpage. The method is performed by a computer system that includes servers, storage systems, networks, operating systems, and databases (“the system”).
[0018] Example implementations of the methods are described in more detail with respect to
1. Method for Testing the Accuracy of Software that Identifies User Interface Elements on a Webpage
[0019]
[0020] The system creates a normalized specification for the webpage that includes a mapping of UI elements to normalized labels (step 120). In certain embodiments, a specification is a representation of all possible UI elements on a webpage plus relevant metadata (i.e., not including metadata related to styling or behavior). For example, the metadata can include the placeholder of the field, the class name, the HTML ID, etc. In certain embodiments, one or more specifications are manually created by a user on a browser extension such that the one or more specifications are treated as the gold standard by which the information generated by the auto-identifier software is compared. In certain embodiments, the manually-created specification is created in two steps: first, by the browser extension automatically tagging fields with a label and, second, by a user correcting or adding one or more labels to their corresponding field(s) (e.g., using a “drag and drop” graphical user interface). The system uses the auto-identifier software to identify UI elements on the webpage (step 130). The system evaluates the performance of the auto-identifier software with respect to the webpage using the specification (step 140). The system displays diagnostics related to the performance of the auto-identifier software (step 150). In certain embodiments, the displayed diagnostics include the number of fields evaluated, the number of fields correctly or incorrectly identified (e.g., specification shows seven fields marked 1-7, but auto-identifier software identifies only six fields 1-6), the number of fields correctly or incorrectly filled (e.g., specification shows seven fields marked 1-7 and filled with a-g, auto-identifier software identifies seven fields marked 1-7, but field 3 is filled with “m” instead of “c”), and the number of fields correctly or incorrectly ignored, etc.
[0021] In certain embodiments, as discussed in greater detail in Section 2, the UI elements are fields, and the auto-identifier software is designed to automatically fill in fields in a webform. In certain embodiments, the webform is a checkout page. In certain embodiments, the specification for the webform includes a mapping of fields on the webform to normalized field labels. In certain embodiments, evaluating the performance of the auto-identifier software includes determining whether the auto-identifier software correctly identified and correctly filled the fields on the webform that the auto-identifier software is tasked with auto-filling and correctly ignored the fields on the webform that the auto-identifier software is not tasked with auto-filling.
[0022] In certain embodiments, as discussed in greater detail in Section 3, the UI elements are text markers, and the auto-identifier software is designed to automatically scrape checkout cart data from a webpage. In certain embodiments, the specification includes a mapping of cart data on the webpage to normalized labels.
[0023] In certain embodiments, displaying diagnostics includes displaying statistics regarding the performance of the autofill software on the webform. In certain embodiments, displaying diagnostics includes displaying statistics related to the performance of the software for a select UI element across a plurality of webpages. For example, the displayed statistics may be related to the percentage of correctly and incorrectly identified fields, correctly and incorrectly filled fields, and correctly and incorrectly ignored fields on the webform.
[0024] In certain embodiments, enabling a user to tag UI elements on a webpage includes providing a browser extension for a web browser that enables a user to tag UI elements on a webpage. In certain embodiments, the browser extension includes code that first automatically tags select UI elements with labels and then enables the user to edit the labels and tag additional UI elements.
2. Method for Testing the Accuracy of Autofill Software on a Webform
[0025]
3. Method for Testing the Accuracy of Cart-Scraper Software on a Checkout Page
[0026]
4. Example System Architecture
[0027]
[0028]
[0029] The second process takes place on a server 440, which has a server API 450 that downloads the manually-created specification to a benchmark testing module 460. The benchmark testing module 460 also receives a specification generated from the auto-identifier software 470 that is stored in memory 480 on the server 440. The auto-identifier software 470 copies the way the webpage works and attempts to create a specification based on the webpage. The benchmark testing module 460 compares the specification generated from the auto-identifier software against the manually-created specification, which is considered the gold standard specification, and provides diagnostic data via the diagnostic module 490. In certain embodiments, the diagnostic data includes which specifications generated from the auto-identifier software did not match a manually-created specification, and of those that did not match, which fields were not identified correctly.
5. Example Screenshots of User Interface for how to Create a Specification
[0030]
[0031] In
[0032] The next step is to add labels to the field. This can be done either by highlighting the label of the input field and allowing the system to capture the label or by manually inputting the label. As illustrated in
[0033] As seen in
6. Example Screenshots of User Interface for how to Test Changes Using the Benchmarker
[0034]
[0035] In
[0036] As seen in
[0037]
7. General
[0038] The methods described with respect to
[0039] As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the above disclosure is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.