Quantum 1.31.0 release notes

This document introduces changes introduced in version 1.31.0 (following version 1.30.1).

Caution: If you use Quantum with TestNG only and not with the BDD layer, do not update to the latest version of Quantum. Perfecto will release another version for TestNG soon.

Upgrades

This Quantum version includes upgrades of the following third-party tools:

  • Java: Version 11 (required)

  • Selenium: From version 4.2.2 to 4.8.2

  • TestNG: From version from 6.10.0 to 7.7.1

  • Cucumber: From version 1.2.5 to 7.11.1

  • QAF: From version 3.1.0 to 3.2.0

  • Appium Java client: From version 8.1.1 to 8.6.0

In addition, the Quantum version includes support for generating Quantum framework-related Javadoc.

New features and enhancements

This Quantum version includes the following new feature:

  • Fixed security vulnerabilities reported by Black Duck security scans

  • Updated code base to support TestNG version 7.7.1 changes

  • Updated code base to support Cucumber version 7.11.1 changes

  • Javadoc listing all Perfecto-related methods available in Quantum

  • Parallel Downloading of reports at the end of the testcase

  • Option to enable or disable report updates using the qaf.update.result property in the application.properties file. To use this option, set the property to true/false, respectively.

  • Option to generate TestNG-failed testcases based on the unique scenario identifier in a feature file. The file will be generated in the test-output/quantum-failed-suite folder. You can customize the unique identifier using the scenario.unique.identifier.prefix property in the application.properties file. The default unique identifier prefix is @TC-.

  • Changes in the application.properties file:

    • Updated property: driver.init.retry.timeout is now called driver.init.retry.timeout.seconds

    • New property: driver.init.retry.interval.seconds, which controls the duration in which the driver initialization will be retried in case of failure.

Breaking Changes

This Quantum version comes with the following breaking changes:

  • Minimum Java version 11 is mandatory.

  • Perfecto-specific capabilities must have the prefix perfecto. For example, instead of driver.capabilities.securityToken, use perfecto.capabilities.securityToken. If non-Perfecto capabilities are prefixed with perfecto, Perfecto will be able to execute tests, but if the prefix is missing from Perfecto-specific capabilities, the test will not run.

  • The Cucumber package hierarchy has changed to io.cucumber.java (from cucumber.api.java). Make sure to remove any Cucumber-related dependency from the pom.xml file.

  • The way to get RuntimeOptions in Cucumber has changed. Make sure to use RuntimeOptionsBuilder instead of RuntimeOptionsFactory.

  • To support the changes done in the Quantum code base, TestNG v7.7.1 is required. Remove any dependency related to testNG from the pom.xml file.

  • Opera as a browser is no longer supported.

  • If you have customized QAFReportiumListener in your framework, update the step of getting test groups from testResult.getMethod().getGroups() to: String[] groups = TestNode.getScenarioGroups(testResult);

  • TestNode is present in package: com.quantum.listeners

  • The getPlatformName() method of the underlying driver returns LINUX for Android devices and MAC for iOS devices. Use the DriverUtils.getDriver() method to get the QAF extended driver, and then call the getPlatformName method:

    DriverUtils.getDriver().getCapabilities().getPlatformName();

  • Use the methods DriverUtils.isAndroid() or DriverUtils.isIOS() to check the platform of current drivers.

  • Update the Surefire plugin version to 3.2.5 in the pom.xml file.

  • If using the Eclipse IDE, upgrade the testNG plugin to the latest version if you have not done so recently.

Deprecations

The following items have been removed from the pom.xml file:

  • Perfecto Mobile WebDriver (pm-webdriver)

  • Perfecto Mobile http-client