Subscription: Enterprise Edition
App Variants in ACCELQ is a powerful capability designed to increase the portability, scalability, and maintainability of your test automation assets. This feature enables teams to support multiple versions of the same application—such as localized editions, branded storefronts, or marketplace variants—without duplicating automation logic.
By introducing a structured way to manage variation in application behavior, content, or configuration, App Variants allows teams to run the same automation suite across diverse implementations of an application with minimal overhead.
What Is App Variability?
Modern enterprise applications often exist in multiple forms to serve different markets, user segments, or channels. These variants may differ in:
Localization / Internationalization (i18n)
Branding or white-label implementations
Marketplaces, regions, or regulatory configurations
Storefront layouts or content variations
App Variability allows testers to manage these differences centrally and cleanly. Instead of modifying or duplicating tests for each variant, ACCELQ enables automation engineers to:
Maintain a unified set of test scenarios
Drive variant-specific behavior using Global Properties
Write conditional logic based on the variants where the test is executing
Streamline updates and reduce maintenance complexity
This abstraction enables consistent test design and execution across all variants with significantly reduced duplication.
How App Variability Works
App Variants build on ACCELQ’s existing support for Application Environments by introducing an additional dimension to your project configuration.
App Environments vs. App Variants: Understanding the Difference
To effectively use App Variability, it is crucial to understand how it differs from and complements Application Environments:
App Environments (Where): These represent the stage of the deployment pipeline (e.g., QA, UAT, Staging, Production). Data differences here usually relate to URLs, database connections, or environment-specific credentials.
App Variants (What): These represent the form of the application logic or content (e.g., US Market, EU Market, Spanish Version, Brand X).
The Second Dimension: When combined, Global Properties operate on a two-dimensional grid. A specific data point is determined by the intersection of the Environment AND the Variant.
How It Comes Together
Abstraction via Global Properties: Automation scripts reference Global Properties instead of hardcoded values. ACCELQ resolves these properties at execution time based on the selected variant and environment.
Conditional Logic in Actions: While Global Properties handle data abstraction, functional differences can be handled in logic. In your Action logic, you can retrieve the currently executing variant name. This allows you to write
if/elseconditions to handle specific workflow deviations (e.g., If Variant == "France", click the 'Accept Cookies' popup).Runtime Selection: When running a test or suite, the user explicitly selects both the App Environment and the Variant to execute the test on. The system then automatically picks the right Global Property data corresponding to that specific combination, and executes any conditional logic appropriate for the execution context.
ℹ️ Execution Context: The user-selected combination of Environment + Variant determines test data and behavior at runtime.
Handling UI Element Differences
One of the biggest challenges in testing variants (especially languages) is that UI locators often change with application variations. ACCELQ addresses this through two distinct methods:
1. Locator-Free / Label-Based Identification (Web & SAP GUI)
For Web and SAP GUI applications, ACCELQ supports locator-free element identification based on visual labels.
You can define a Global Property (e.g.,
Submit_Label) that contains the text "Submit" for the English variant and "Enviar" for the Spanish variant.By using this Global Property in the element-related statement, the script logic becomes magically portable across languages without touching the element repository.
2. Smart Locators with Dynamic Properties
For standard Smart Locator elements, you can dynamically adjust attributes at runtime.
In the Action logic, use the Update Element Property command.
This allows you to update a specific textual attribute of an element locator using a Global Property before interacting with it.
Configuring App Variability in ACCELQ
Role Required: Project Admin
- Enable App Variability: Navigate to the Project Configuration portal and enable App Variability in the Project Settings.
- Add Variant Values: Directly define the specific variant values required for the project (e.g., EN, ES, FR or BrandA, BrandB).
Merging and Reconciling App Variants
In enterprise delivery pipelines, different teams often work on separate branches where App Variant configurations may diverge (e.g., a "Feature Branch" might add a new language variant like "Spanish" that doesn't exist in the "Master Branch" yet).
ACCELQ simplifies the synchronization of these configurations during the Project Merge process.
The Merge Workflow
When a Project Admin initiates a merge between two branches (Source and Target), ACCELQ analyzes the App Variant configurations of both. If differences are detected, the Manage App Variant Changes screen appears, allowing the admin to explicitly review and reconcile differences.
This screen categorizes changes into three sections:
New Variants: Variants created in the Source that are missing in the Target.
Deleted Variants: Variants removed from the Source that still exist in the Target.
Renamed Variants: Variants that have been renamed in the Source (e.g., changing "Chinese" to "Chinese (Simplified)").
Intelligent Data Synchronization
The merge process is not just about updating the list of variant names; it also synchronizes the underlying data.
Granular Control: The admin can use checkboxes to select exactly which variant changes to accept or reject.
Automatic Data Carry-Over: If you accept a new variant (e.g., adding "Spanish"), ACCELQ automatically imports all Global Property values associated with that variant from the Source project.
This ensures that when the merge is complete, the Target project is immediately ready for execution with all the necessary data for the new variants, eliminating the need for manual data re-entry.
Enterprise Use Cases for App Variants
App Variants is especially valuable in large distributed test programs, including:
- Localization and Internationalization (i18n): Support dozens of languages without duplicating scripts.
- White-Label Applications: Retail, banking, telecom, and insurance industries frequently deploy branded versions of the same software.
- Multi-Region/Marketplace Deployments: Different regulatory or marketplace configurations can be tested from one central script repository.
- A/B Testing and Feature Flag Variants: Manage UI or behavior differences across controlled experiments.
- Storefront Customizations: E-commerce platforms often modify layout, content, or pricing structures per region or brand.
Best Practices for Using App Variants
- Plan Variant Strategy Thoughtfully: Ensure clear naming for your variant values to avoid ambiguity.
- Minimize the Number of Variant Properties: Only abstract what truly varies across implementations.
- Standardize Naming Conventions: Use consistent, descriptive naming for Global Properties:
Login Button LabelHeader Cart Title
- Keep Scripts Variant-Agnostic: Automation logic should generally not reference hardcoded variant values unless specific conditional logic (if/else) is required for flow deviations.
- Integrate With CI for Matrix Execution: Trigger parallel runs across:
All environments
- All variants
This increases test coverage exponentially without additional scripting effort.
Conclusion
ACCELQ’s App Variants introduces a transformative layer of flexibility for enterprise test automation. By externalizing variant-specific differences into a structured configuration model, teams can:
Reuse the same test logic across all application variants
Reduce test maintenance dramatically
Scale automation to new markets or products effortlessly
Improve coverage with minimal additional work
App Variants empower automation teams to build highly portable, maintainable, and efficient automation frameworks that evolve alongside dynamic enterprise applications.
Comments
0 comments
Please sign in to leave a comment.