Web Element Difference Detection via DOM Tree Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for testing web applications are inefficient in identifying and updating differences between various versions, leading to increased time and resource expenditure in maintaining automation test suites, and are prone to human errors due to the complexity of updating test scripts with frequent UI changes.

Innovation Solution

A system and method for determining differences between web elements of different versions of web applications by converting document object model structures into tree structures, identifying node differences, and generating information characterizing these differences, which can initiate automated actions such as updating test cases and generating locators for changed elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual methods are used to identify and update differences between web application versions, then flexibility and control are maintained, but time consumption and human error increase

Engineering Contradiction:
Improveaccuracy in identifying web element differencesVSAvoidtime required for testing and maintenance
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-service by automatically comparing DOM structures of different web application versions, identifying changed web elements, and updating test scripts without human intervention. The processing device autonomously executes the entire workflow from DOM extraction to test script generation, eliminating manual comparison efforts and reducing both time consumption and human error.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical operations with automated computational processes. Instead of manually inspecting and comparing web elements across versions, the system uses processing devices to extract DOM structures, compare tree representations, and generate updated test scripts through algorithmic operations, thereby substituting human effort with automated mechanical-computational systems.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated comparison tools are implemented, then efficiency and accuracy improve, but system complexity increases

Engineering Contradiction:
Improvespeed of identifying and updating web element differencesVSAvoidcomplexity of the comparison system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing device performs multiple functions within a single integrated system: extracting DOM structures from different web application versions, converting them to tree representations, comparing the trees to identify differences, and generating updated test scripts. This multi-functional approach consolidates what could be separate complex tools into one unified system, improving productivity while managing complexity through functional integration.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces tree structures as an intermediary representation between the raw DOM structures and the final difference identification. By converting DOM structures into standardized tree representations before comparison, the system creates a mediating layer that simplifies the comparison process and makes the system more manageable, reducing overall complexity while maintaining high productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If frequent UI changes are accommodated, then adaptability improves, but maintenance effort and error rate increase

Engineering Contradiction:
Improveability to handle frequent UI changesVSAvoiderror rate in test scripts
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback by continuously comparing the current web application version against previous versions, automatically detecting UI changes, and updating test scripts accordingly. This closed-loop feedback mechanism ensures that test scripts remain synchronized with the actual application state, improving adaptability to frequent changes while maintaining reliability by eliminating manual errors in the update process.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by proactively comparing DOM structures and identifying potential UI changes before they cause test failures. The system preemptively updates test scripts based on detected differences, preventing errors rather than reacting to them after occurrence. This preliminary intervention enhances both adaptability to change and reliability by avoiding the errors that would result from outdated test scripts.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11971866B2Determining differences between web elements of different versions of a web application
Publication Date: 2024.04.30 DELL PROD LP
  • US11971866B2 patent drawing
  • US11971866B2 patent drawing
  • US11971866B2 patent drawing

AI summary

An apparatus comprises a processing device configured to select first and second versions of at least a given portion of a web application, to obtain first and second document object model structures of the first and second versions of the given portion of the web application, and to generate, based at least in part on the first and second document object model structures, first and second tree structures, the first and second tree structures comprising nodes representing web elements of the given portion of the web application. The processing device is also configured to identify node differences between the first and second tree structures, to generate information characterizing differences between web elements in the given portion of the first and second versions of the web application, and to initiate automated action based at least in part on the generated information.