IP Library Granted Patent US 11,573,889
Granted Patent B2
US 11,573,889 · App. 17/093,741 · Granted Feb 7, 2023

Using graphical image analysis for identifying image objects

Inventors: Er-Xin Shang (Shanghai, CN); Hua-Ming Zhai (Shanghai, CN); Yun-Sheng Liu (Shanghai, CN); Tezeen Yu (Shanghai, CN)
Assignee: Micro Focus LLC
G06F11/3696G06F11/368G06F11/3688G06N20/00G06V20/62
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,573,889
App. No.
17/093,741
Granted
Feb 7, 2023
Kind
B2
Abstract

An image of a graphical user interface is captured. For example, a screen shot of a browser display is captured. Text syntax is executed that contains one or more parameters for identifying a graphical object. For example, the text syntax may identify a rectangle that contains the text “OK” where the text is red. Based on the text syntax, a graphical object is identified in the image of the graphical user interface. Information is returned that identifies how to access the graphical object in the graphical user interface. For example, coordinates of the graphical object are identified. This information can then be used in a test script using existing programming languages to test the graphical user interface. For example, the coordinates may be used to click on the OK button.

Claims (54)

1. A method, comprising:

capturing, by a hardware processor, an image of a graphical user interface;

executing, by the hardware processor, a text syntax,

wherein the text syntax is a form of an Application Programming Interface (API) and contains one or more parameters for identifying a graphical object and

wherein the text syntax comprises at least one of: a type of object, a text value, a relational operator, a shape descriptor, and an index, and wherein the relational operator is one of an around operator, a contains operator, a does not contain operator, an overlap operator, a not overlap operator, a not around operator, and an unknown graphical object operator;

based on the text syntax, identifying, by the hardware processor, the graphical object in the image of the graphical user interface; and

returning, by the hardware processor, information that identifies how to access the graphical object in the graphical user interface,

wherein the returned information comprises one of:

information that identifies a plurality of graphical objects in the graphical user interface that match the text syntax;

a message indicating that the plurality of graphical objects are in the graphical user interface; and

a message indicating to refine the text syntax.

2. The method of claim 1 , wherein the returned information further comprises one or more of a center location of the graphical object, coordinates of the graphical object, coordinates of fields of a compound graphical object, locations of one or more scrollbar pointers, and locations in a text area or field.

3. The method of claim 2 , wherein a test script uses the center location and/or the coordinates of the graphical object to simulate at least one of: a user clicking on the graphical object, the user entering text in the graphical object, the user selecting a check box, the user selecting a radio button, the user selecting a menu, the user selecting a menu item, the user moving a scrollbar, the user selecting a tab, a mouse hover, a left mouse click, a right mouse click, and the user selecting a window.

4. The method of claim 1 , wherein the returned information further comprises the information that identifies the plurality of graphical objects in the graphical user interface and wherein the returned information identifies a unique attribute for at least one of the plurality of graphical objects.

5. The method of claim 1 , further comprising:

using the returned information in a test script to test the graphical object in the graphical user interface.

6. The method of claim 1 , wherein identifying the graphical object in the image of the graphical user interface is accomplished by training a machine learning algorithm with a plurality of different types of images that represent different versions of the graphical object.

7. The method of claim 1 , wherein a new type of text syntax is added based on a machine learned history of graphical objects by dynamically prompting a user to provide a text name for the new type of text syntax.

8. A system, comprising:

a hardware processor; and

a computer readable medium, coupled with the hardware processor and comprising processor readable and executable instructions that, when executed by the hardware processor, cause the hardware processor to:

capture an image of a graphical user interface;

execute a text syntax,

wherein the text syntax is a form of an Application Programming Interface (API) and contains one or more parameters for identifying a graphical object and

wherein the text syntax comprises at least one of: a type of object, a text value, a relational operator, a shape descriptor, and an index, and wherein the relational operator is one of an around operator, a contains operator, a does not contain operator, an overlap operator, a not overlap operator, a not around operator, and an unknown graphical object operator;

based on the text syntax, identify the graphical object in the image of the graphical user interface; and

return information that identifies how to access the graphical object in the graphical user interface,

wherein the return information comprises one of:

information that identifies a plurality of graphical objects in the graphical user interface that match the text syntax;

a message indicating that the plurality of graphical objects are in the graphical user interface; and

a message indicating to refine the text syntax.

9. The system of claim 8 , wherein the returned information further comprises one or more of a center location of the graphical object, coordinates of the graphical object, coordinates of fields of a compound graphical object, locations of one or more scrollbar pointers, and locations in a text area or field.

10. The system of claim 9 , wherein a test script uses the center location and/or the coordinates of the graphical object to simulate at least one of: a user clicking on the graphical object, the user entering text in the graphical object, the user selecting a check box, the user selecting a radio button, the user selecting a menu, the user selecting a menu item, the user moving a scrollbar, the user selecting a tab, a mouse hover, a left mouse click, a right mouse click, and the user selecting a window.

11. The system of claim 8 , wherein the return information further comprises the information that identifies the plurality of graphical objects in the graphical user interface and wherein the returned information identifies a unique attribute for at least one of the plurality of graphical objects.

12. The system of claim 8 , wherein the hardware processor readable and executable instructions further cause the hardware processor to:

use the return information in a test script to test the graphical object in the graphical user interface.

13. The system of claim 8 , wherein identifying the graphical object in the image of the graphical user interface is accomplished by training a machine learning algorithm with a plurality of different types of images that represent different versions of the graphical object.

14. The system of claim 8 , wherein a new type of text syntax is added based on a machine learned history of graphical objects by dynamically prompting a user to provide a text name for the new type of text syntax.

15. A non-transitory computer readable medium having stored thereon instructions that cause a hardware processor to execute a method, the method comprising instructions to:

capture an image of a graphical user interface;

execute a text syntax,

wherein the text syntax is a form of an Application Programming Interface (API) and contains one or more parameters for identifying a graphical object and

wherein the text syntax comprises at least one of: a type of object, a text value, a relational operator, a shape descriptor, and an index, and wherein the relational operator is one of an around operator, a contains operator, a does not contain operator, an overlap operator, a not overlap operator, a not around operator, and an unknown graphical object operator;

based on the text syntax, identify the graphical object in the image of the graphical user interface; and

return information that identifies how to access the graphical object in the graphical user interface,

wherein the return information comprises one of:

information that identifies a plurality of graphical objects in the graphical user interface that match the text syntax;

a message indicating that the plurality of graphical objects are in the graphical user interface; and

a message indicating to refine the text syntax.

16. The non-transitory computer readable medium of claim 15 , wherein a new type of text syntax is added based on a machine learned history of graphical objects by dynamically prompting a user to provide a text name for the new type of text syntax.

17. The non-transitory computer readable medium of claim 15 , wherein the returned information further comprises one or more of a center location of the graphical object, coordinates of the graphical object, coordinates of fields of a compound graphical object, locations of one or more scrollbar pointers, and locations in a text area or field.

18. The non-transitory computer readable medium of claim 17 , wherein a test script uses the center location and/or the coordinates of the graphical object to simulate at least one of: a user clicking on the graphical object, the user entering text in the graphical object, the user selecting a check box, the user selecting a radio button, the user selecting a menu, the user selecting a menu item, the user moving a scrollbar, the user selecting a tab, a mouse hover, a left mouse click, a right mouse click, and the user selecting a window.

19. The non-transitory computer readable medium of claim 15 , wherein the return information further comprises the information that identifies the plurality of graphical objects in the graphical user interface and wherein the return information identifies a unique attribute for at least one of the plurality of graphical objects.

20. The non-transitory computer readable medium of claim 15 , wherein identifying the graphical object in the image of the graphical user interface is accomplished by training a machine learning algorithm with a plurality of different types of images that represent different versions of the graphical object.

Assignments (5)
RELEASE OF SECURITY INTEREST REEL/FRAME 055514/0345 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0796 →
RELEASE OF SECURITY INTEREST REEL/FRAME 056011/0887 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062626/0389 →
SECURITY AGREEMENT Recorded Mar 5, 2021
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056011/0887 →
SECURITY AGREEMENT Recorded Mar 5, 2021
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055514/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2020
From: SHANG, ER-XIN; ZHAI, HUA-MING; LIU, YUN-SHENG; YU, TEZEEN
To: MICRO FOCUS LLC
Reel/Frame 054320/0613 →