Dynamic Role Identification for Web Scripting Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity and dynamic nature of web applications, driven by AJAX frameworks and changing user interactions, make it difficult to record and replay scripts for automating operations, especially since traditional methods rely on predefined class-oriented types for application objects.
Innovation Solution
A system and method for identifying the logical roles of application objects during execution, without preclassifying them, using behavior observation and standards like W3C's WAI ARIA, allowing multiple roles to be assigned to objects and patterns, and representing user actions in a user-friendly manner.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional predefined class-oriented types are used for application objects, then the scripting system has a simple and structured classification, but it cannot handle the increasing complexity and dynamic nature of web applications
Solution Approach 1:
The patent implements dynamic role assignment where application objects can have multiple roles assigned at runtime based on their behavior and context, rather than static predefined classes. This allows the scripting system to adapt to complex and dynamic web applications while maintaining a relatively simple underlying structure through the use of configurable role templates.
Solution Approach 2:
The patent creates a universal role-based framework where a single object can serve multiple functions through different roles. Instead of requiring separate class definitions for each object type, the system uses configurable role templates that can be applied to various objects, reducing overall system complexity while increasing versatility.
2Ease of operation
If multiple roles are assigned to objects, then the scripting system becomes more flexible and readable, but the object classification system becomes more complex
Solution Approach 1:
The patent segments the classification system into two independent layers: configurable role templates (the schema) and instance assignments (the data). This separation allows complex multi-role assignments to be managed through simple, readable script statements while the complexity of role definitions is encapsulated in reusable templates.
Solution Approach 2:
The patent performs preliminary action by defining reusable role templates before assigning them to objects. These templates pre-configure common role characteristics and behaviors, so that when objects are assigned roles during script execution, the complexity has already been resolved in advance, resulting in cleaner and more maintainable scripts.
3Adaptability or versatility
If role identification is performed during execution, then the system can adapt to changing application behavior, but it requires more processing time and resources
Solution Approach 1:
The patent merges role identification with the existing application execution flow by integrating role assignment into the normal object initialization and event handling processes. This allows role identification to occur during execution without requiring separate processing passes, minimizing additional time overhead while maintaining adaptability to changing behavior.
Solution Approach 2:
The patent implements self-service by enabling objects to automatically determine their own roles based on their behavior and context during execution. Objects can self-identify their roles without requiring extensive external analysis, reducing the processing time and resources needed for role identification while maintaining high adaptability.
Data Source
AI summary
In at least some embodiments, a computer system includes a processor and a computer-readable storage medium coupled to the processor and storing a scripting application. The scripting application, when executed, is configured to selectively record user actions on user interface (UI) objects of a browser hosted application based on identification of at least one role for each UI object.


