×

Software robots for programmatically controlling computer programs to perform tasks

  • US 9,965,139 B2
  • Filed: 03/03/2016
  • Issued: 05/08/2018
  • Est. Priority Date: 03/03/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • at least one computer hardware processor; and

    at least one non-transitory computer-readable storage medium storing processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform;

    automatically generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of at least one application program, the at least one application program including a first application program and a second application program, the generating comprising;

    identifying active GUI elements of the at least one application program;

    identifying relationships among the active GUI elements;

    generating, based on the identified active GUI elements and relationships, a first portion of the object hierarchy comprising objects corresponding to active GUI elements of the first application program and a second portion of the object hierarchy comprising objects corresponding to the active GUI elements of the second application program;

    accessing a task comprising a sequence of actions;

    performing said sequence of actions by;

    controlling the first application program to perform a first action in the sequence of actions using the first portion of the object hierarchy;

    refreshing a portion of the object hierarchy according to any changes in the active GUI elements after the first action is performed;

    controlling the second application program to perform a second action in the sequence of actions using the second portion of the object hierarchy; and

    refreshing a portion of the object hierarchy according to any changes in the active GUI elements after the second action is performed; and

    during performance of the sequence of actions,generating a visual representation of already-performed actions in the sequence of actions;

    storing the visual representation;

    determining that an error in performance of the sequence of actions has occurred, the error preventing completing automated performance of the sequence of actions without human intervention; and

    when it is determined that the error in performance of the sequence of actions has occurred, providing to a user the visual representation.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×