US 11,734,162 B2
Method and system for programmatically testing a user interface
Christopher M. Myers, Dublin, OH (US)
Assigned to Express Scripts Strategic Development, Inc., St. Louis, MO (US)
Filed by Express Scripts Strategic Development, Inc., St. Louis, MO (US)
Filed on Aug. 11, 2020, as Appl. No. 16/990,174.
Application 16/990,174 is a continuation of application No. 16/196,321, filed on Nov. 20, 2018, granted, now 10,747,655.
Prior Publication US 2020/0371904 A1, Nov. 26, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/36 (2006.01); G06F 30/20 (2020.01); G06N 3/045 (2023.01); G06N 3/047 (2023.01)
CPC G06F 11/3688 (2013.01) [G06F 11/3664 (2013.01); G06F 11/3696 (2013.01); G06F 30/20 (2020.01); G06N 3/045 (2023.01); G06N 3/047 (2023.01)] 21 Claims
OG exemplary drawing
 
1. A computer system for testing a user interface (UI), the computer system comprising:
processor hardware; and
memory hardware including instructions that, when executed by the processor hardware, implement:
a test creation module configured to obtain testing parameters, wherein the testing parameters include (i) a location at which the UI can be accessed and (ii) criteria for a goal associated with the UI, wherein the criteria for a goal is matching of a particular text string;
a test execution module configured to (i) obtain a state of the UI based on the location and (ii) set a current position to a predetermined location within the UI; and
an analysis module configured to:
analyze a designated state of the UI;
in response to determining that the designated state satisfies the criteria for the goal, output a success indicator; and
in response to determining that the designated state of the UI does not satisfy the criteria for the goal, determine a set of possible submit, link, or entry actions based on UI submit, link, or entry elements within the designated state and set an outcome to the set of possible submit, link, or entry actions,
wherein the test execution module is configured to:
provide a state of the UI to the analysis module, wherein the state of the UI includes a set of interactive UI elements arranged in an initial positioning;
receive an output from the analysis module in response to provision of the state to the analysis module;
in response to the received output being the set of possible submit, link, or entry actions:
select an action from the set of possible submit, link, or entry actions, wherein the action is associated with a first UI element;
execute the selected action;
identify a point of the first UI element;
update a test distance based on (i) coordinates of the point and (ii) coordinates of the current position;
set the current position to the point;
supplement test data with (i) the selected action and (ii) the set of possible submit, link, or entry actions,
in response to the received output being the success indicator, store the test distance and the test data in a collection of completed tests;
determine a shortest path to the goal in the UI based on the collection of completed tests; and
based on the determined shortest path to the goal in the UI, automatically reposition the set of interactive UI elements in the state of the UI to generate an updated positioning.