Web UI Automation Maintenance Tool for Element Identifier Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual updating of element identifiers in web UI automation scripts is labor-intensive and time-consuming, especially when UI changes occur frequently, affecting multiple elements and their xPaths on web pages with many elements.

Innovation Solution

A web UI automation maintenance tool that automatically identifies and updates element identifiers by comparing attributes between initial and updated web pages, using a black-box approach without relying on source code or development environments, and generates reports for added or removed elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual updating of element identifiers is performed, then accuracy of element identification is maintained, but time consumption and labor effort increase significantly

Engineering Contradiction:
Improveelement identifier accuracyVSAvoidscript maintenance time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-updating of element identifiers by automatically comparing DOM structures between version A and version B web pages. The script engine identifies changed elements and regenerates xPaths without human intervention, allowing the automation system to maintain itself autonomously when UI changes occur.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-stores the DOM structure of the initial web page version A and its corresponding element identifiers. When a UI change occurs, the system retrieves this stored information and performs comparative analysis before executing automation tasks, enabling proactive identification and correction of identifier mismatches.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If xPaths are used as element identifiers, then element location precision is improved, but complexity of updating identifiers increases when elements are moved

Engineering Contradiction:
Improveelement location precisionVSAvoididentifier update complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system executes a feedback loop that continuously monitors DOM structure changes by comparing version A and version B web pages. When element movements or attribute changes are detected, the system automatically feeds this information back to regenerate appropriate xPaths and update element identifiers, maintaining precision without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically changes the parameter representation of element identifiers from static xPaths to adaptive identifiers that incorporate DOM structure comparisons. By analyzing attribute changes, element positions, and hierarchical relationships between DOM versions, the system transforms identifier parameters to reflect current web page structure automatically.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If frequent UI changes are made to web pages, then adaptability of the web page is improved, but reliability of existing automation scripts deteriorates

Engineering Contradiction:
Improveweb page adaptabilityVSAvoidautomation script reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system transitions from static automation scripts to dynamic scripts that adapt to UI changes. By implementing continuous DOM comparison between web page versions and automatically regenerating element identifiers based on detected changes, the system maintains script reliability despite frequent UI modifications, allowing the automation to dynamically adjust to new web page structures.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If a large number of elements are present on the web page, then functionality of the web page is enhanced, but effort required to update all element identifiers increases

Engineering Contradiction:
Improveweb page functionalityVSAvoidscript maintenance ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system performs self-maintenance by automatically comparing DOM structures of web pages with numerous elements. The script engine iterates through all elements, identifies those with changed identifiers or positions, and regenerates their xPaths autonomously, eliminating the need for manual updating of each individual element identifier regardless of the total number of elements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system segments the web page into individual DOM elements and processes them independently through automated comparison. By dividing the complex task of updating all element identifiers into discrete element-level operations, the system efficiently handles web pages with large numbers of elements, updating only those specific elements that have changed rather than requiring comprehensive manual review.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10963624B2Web UI automation maintenance tool
Publication Date: 2021.03.30 CITRIX SYSTEMS INC
  • US10963624B2 patent drawing
  • US10963624B2 patent drawing
  • US10963624B2 patent drawing

AI summary

A web UI automation maintenance tool includes a memory and a processor. The memory stores UI automation scripts for an initial web page that includes elements to be displayed for the web page, with each element having an element identifier. The processor determines web page specifics for the initial web page, including the attributes for each of the elements. After the initial web page has been updated, the processor determines the web page specifics for the updated web page. The processor compares, for each element, attributes from the initial web page to the updated web page, and identifies a new element identifier for each element that changed from the initial web page to the updated web page. The UI automation script in the memory is updated with the new element identifiers for each element whose element identifier has changed.