UI CoveragePremium Solution
Troubleshooting
A single element appears as multiple elements
When a single element is identified as multiple distinct elements in UI Coverage, it may indicate an issue with Element Identification. This often occurs due to:
- Auto-generated or dynamic attributes (e.g., UUIDs) that differ across snapshots.
- Library-specific identifiers, such as id attributes generated by frameworks.
Solutions
- Add Unique Identifiers: Assign a stable identifier like
data-cyordata-testto the element. - Ignore Dynamic Attributes: Use
attributeFiltersto exclude attributes that change across tests. - Manually Configure Identification: Use elements configuration to explicitly define how the element should be identified.
Multiple different elements are identified as the same
If different elements are being grouped as one in UI Coverage, this could be due to insufficient or non-specific identifiers, such as:
- Missing unique
data-*oridattributes. - Generic identifiers like
data-test="button"shared across multiple elements. - Use of attributes not prioritized by UI Coverage, like
aria-label.
Solutions
- Add unique identifiers: Assign distinct identifiers like
data-cyordata-testvalues to each element. - Filter generic attributes: Exclude unrepresentative attributes using
attributeFiltersconfiguration. - Customize attribute use: Update
significantAttributesconfiguration to prioritize relevant identifiers. - Manually Identify Elements: Use elements configuration to specify how elements should be identified.
Similar elements are not grouped together
If elements performing the same action are not grouped, it may be due to:
- Library-specific identifiers, like dynamic
idvalues, are not representative of the element and prevent grouping. - Identifiers that include dynamic data, such as UUID's
Solutions
- Use Shared Identifiers: Apply consistent
data-cyordata-testvalues across similar elements. - Ignore Dynamic Attributes: Configure
attributeFiltersto exclude varying attributes. - Manually Group Elements: Use
elementGroupsconfiguration to define custom groupings.
Different elements are incorrectly grouped together
If unrelated elements are grouped, it may be due to overly generic identifiers or shared attributes. Some common examples of this include:
- Missing unique attributes that could distinguish the elements.
- Generic values like
data-test="button"shared across different elements.
Solutions
- Add Distinct Identifiers: Use unique
data-cyordata-testvalues for each element. - Filter Shared Attributes: Exclude generic identifiers with
attributeFiltersconfiguration. - Update Identification Rules: Adjust
significantAttributesconfiguration to improve differentiation. - Manually Separate Groups: Define individual groups using
elementGroupsconfiguration.