Software testing
AssigneeFunctionize, Inc.
InventorsJonathon R. Seaton, Tamas Cser
Life of this patent
Estimating the term…
Abstract
Provided herein is technology relating to testing software and particularly, but not exclusively, to systems and methods for visually validating a step in a software test case and using the visual validation to reinforce an element selection model, the technology provides methods for visually validating a step in a software test case. More particularly, embodiments of the technology provide a method of mapping web elements of a website or app to a visual screenshot of that website or app by combining data from the document object model (DOM) and page screenshot.
Claims21
A method, in a computer system including a processor, for automated validation of a software test case, said method comprising:
- the processor obtaining a first screenshot of a web page and storing the first screenshot as a bitmap;
- the processor executing program instructions to perform a step of a test script of user actions acting on said web page;
- the processor capturing a second screenshot of said web page in conjunction with the step and storing the second screenshot as a bitmap;
- the processor, substantially simultaneously with capturing the second screenshot, obtaining document object model (DOM) information regarding the web page, wherein obtaining document object model (DOM) information regarding the web page includes recursively collecting, using a node filter, DOM information from different page structures in multiple passes, wherein each pass collects DOM information for both visual elements and text elements of the web page;
- the processor identifying a web page element of the web page using both the DOM information and variation between the bitmaps of the first and second screenshots;
- and
- the processor, based on the identifying, providing an output indicating a subsegment of the web page in which the web page element was identified.
A computer system, comprising:
- a data storage device storing program code;
- and
- a processor communicatively coupled to the data storage device, wherein the processor is configured to execute the program code to cause the computer system to perform:
- obtaining a first screenshot of a web page and storing the first screenshot as a bitmap;
- executing program instructions to perform a step of a test script of user actions acting on said web page;
- capturing a second screenshot of said web page in conjunction with the step and storing the second screenshot as a bitmap;
- substantially simultaneously with capturing the second screenshot, obtaining document object model (DOM) information regarding the web page, wherein obtaining document object model (DOM) information regarding the web page includes recursively collecting, using a node filter, DOM information from different page structures in multiple passes, wherein each pass collects DOM information for both visual elements and text elements of the web page;
- identifying a web page element of the web page using both the DOM information and variation between the bitmaps of the first and second screenshots;
- and
- based on the identifying, providing an output indicating a subsegment of the web page in which the web page element was identified.
A program product, comprising:
- a non-transitory data storage device;
- and
- program code stored within the data storage device that, when executed by a processor of a computer system, causes the computer system to perform:
- obtaining a first screenshot of a web page and storing the first screenshot as a bitmap;
- executing program instructions to perform a step of a test script of user actions acting on said web page;
- capturing a second screenshot of said web page in conjunction with the step and storing the second screenshot as a bitmap;
- substantially simultaneously with capturing the second screenshot, obtaining document object model (DOM) information regarding the web page, wherein obtaining document object model (DOM) information regarding the web page includes recursively collecting, using a node filter, DOM information from different page structures in multiple passes, wherein each pass collects DOM information for both visual elements and text elements of the web page;
- identifying a web page element of the web page using both the DOM information and variation between the bitmaps of the first and second screenshots;
- and
- based on the identifying, providing an output indicating a subsegment of the web page in which the web page element was identified.
Dependencies are inferred from the claim text.