For AI agents and LLMs: a machine-readable index is available at llms.txt. A plain-Markdown version of any documentation page is available by appending .md to its URL.
Skip to main content

How to Resolve Version Conflict Issues

Maintaining consistent versions across testing frameworks in your project setup is crucial to avoid runtime errors, compatibility issues, and unexpected behaviors. This guide focuses on specifying framework versions in YAML configuration files and aligning them with the version details in project-specific files like package.json, pom.xml, .csproj, and system environment variables for frameworks like Selenium, Playwright, Puppeteer, Cypress, Maestro, and Appium.

Why Version Consistency Matters​

When versions defined in YAML configuration files do not match those in project files, it can lead to:

  • Dependency Conflicts : Incompatibility between framework components, leading to failures.
  • Runtime Errors : Unexpected crashes or malfunctions during test execution.
  • Inconsistent Test Results : Version mismatches can produce different outcomes or misbehave in automated test cases. To prevent these issues, it is recommended to ensure that framework versions match between the YAML pre-steps and project files.

Framework-Specific Guidelines​

This section provides detailed instructions for version consistency across different frameworks.

Selenium - Java​

For Java projects using Selenium, TestNG and Cucumber dependencies should match between the YAML pre-steps and the pom.xml file.

  • TestNG : Ensure the TestNG version in your pom.xml matches the version specified in the YAML configuration under pre-steps:
Verified
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.5</version>
<scope>test</scope>
</dependency>

Always verify compatibility between Java and TestNG versions as specified in TestNG's documentation to avoid compatibility conflicts.

Selenium/Playwright/Puppeteer/Cypress - JavaScript​

For JavaScript frameworks like Selenium, Playwright, Puppeteer, and Cypress, the framework versions specified in the YAML configuration should align with package.json:

Verified
{
"dependencies": {
"selenium-webdriver": "4.1.0",
"cypress": "9.5.0",
"playwright": "1.15.0"
}
}

Consistency ensures dependencies are installed with the expected versions, avoiding issues like dependency mismatch and incompatible libraries.

Selenium/Playwright - C# (.NET)​

For .NET projects, Selenium and Playwright versions should match between the YAML pre-steps and the .csproj file, which specifies NuGet packages:

Verified
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<OutputType>Library</OutputType>
</PropertyGroup>

Terminal First Testing With Kane CLI

Natural language browser & mobile app tests right from terminal.

×
Schedule Your Personal Demo
Kane CLI terminal

Help and Support

Related Articles