Skip to content

Releases: Perfecto-Quantum/Quantum

1.31.3 release

27 Aug 15:42
Compare
Choose a tag to compare

Upgraded the selenium version to 4.13.0

1.31.2

05 Aug 09:20
Compare
Choose a tag to compare

Updates:

Minimum Java version required 11.
Selenium version updated to 4.8.2 from 4.2.2
TestNG version updated to 7.7.1 from 6.10.0
Cucumber version updated to 7.11.1 from 1.2.5
QAF version updated to 3.2.0 from 3.1.0
Appium client version updated to 8.3.0 from 8.1.1
Added support for generating Quantum framework related javadoc
New features:

Fixed Security vulnerabilities reported by Black Duck security scans.
Updated code base to support TestNG v7.7.1 changes.
Updated code base to support Cucumber v7.11.1 changes.
Javadoc released to list all the Perfecto related methods available in Quantum.
Parallel Downloading of reports at the end of the testcase.
Enable/Disable Report update using Update.Result in application.properties file. Improvement on web driver release time.
Generate testng failed testcases xml file based on unique scenario identifier in a feature file.
Breaking Changes:

Minimum Java version 11 is required.
Cucumber has changes their package hierarchy to io.cucumber.java from cucumber.api.java
Cucumber has changes the way to get RuntimeOptions. Use RuntimeOptionsBuilder instead of RuntimeOptionsFactory.
TestNG v7.7.1 is required to support the changes done in the Quantum code base.
Opera Browser support has being removed.
Deprecations:

Perfecto Mobile WebDriver (pm-webdriver) is removed from pom.xml file.
Perfecto Mobile http-client is removed from pom.xml file.

What's Changed

Full Changelog: 1.31.0...1.31.2

1.31.0

30 May 08:58
Compare
Choose a tag to compare

Updates:

  • Minimum Java version required 11.
  • Selenium version updated to 4.8.2 from 4.2.2
  • TestNG version updated to 7.7.1 from 6.10.0
  • Cucumber version updated to 7.11.1 from 1.2.5
  • QAF version updated to 3.2.0 from 3.1.0
  • Appium client version updated to 8.3.0 from 8.1.1
  • Added support for generating Quantum framework related javadoc

New features:

  • Fixed Security vulnerabilities reported by Black Duck security scans.
  • Updated code base to support TestNG v7.7.1 changes.
  • Updated code base to support Cucumber v7.11.1 changes.
  • Javadoc released to list all the Perfecto related methods available in Quantum.
  • Parallel Downloading of reports at the end of the testcase.
  • Enable/Disable Report update using Update.Result in application.properties file. Improvement on web driver release time.
  • Generate testng failed testcases xml file based on unique scenario identifier in a feature file.

Breaking Changes:

  • Minimum Java version 11 is required.
  • Cucumber has changes their package hierarchy to io.cucumber.java from cucumber.api.java
  • Cucumber has changes the way to get RuntimeOptions. Use RuntimeOptionsBuilder instead of RuntimeOptionsFactory.
  • TestNG v7.7.1 is required to support the changes done in the Quantum code base.
  • Opera Browser support has being removed.

Deprecations:

  • Perfecto Mobile WebDriver (pm-webdriver) is removed from pom.xml file.
  • Perfecto Mobile http-client is removed from pom.xml file.

1.30.1

21 Dec 17:42
ab02aad
Compare
Choose a tag to compare

Minor release to fix the issue related to driver creation.

1.30.0

08 Dec 14:48
43b2df3
Compare
Choose a tag to compare

Upgrades

  • Upgraded the Selenium version from 3.141.59 to 4.2.2 (Selenium 4).

  • Upgraded the Appium version from 7.6.0 to 8.1.1 (Appium 2.0).

  • Implemented vendor-specific desired capabilities introduced in Appium 2.0.

  • Upgraded the perfectomobile.version from 18.3.0.3 to 18.6.0.0.

  • Upgraded the QAF and QAF support versions from 3.0.0 to 3.1.0.

New features

  • Added support for Appium 2.0 and Selenium 4.0

  • Attached Quantum Source to the Quantum support jar for ease of debugging

  • Added support for parallel download of multiple Perfecto reports for the same test case

  • Introduced a new interface VendorPrefixPatch that lets you implement the vendor-specific desired capabilities required by Appium 2.0 and Selenium 4

  • Added a NettyClientFactory client

Breaking changes

Note:
All breaking changes introduced by Selenium 4 and Appium 2.0 are applicable. Make sure to implement appropriate fixes or changes at the project level.

  • Platform-specific methods (such as hideKeyboard) has moved from the Appium Driver to a Platform Specific Driver.

  • The MobileElement class is deprecated and removed. Use WebElement class instead.

  • The MobileElement class had a setValue method. Because the MobileElement class is now deprecated, use the sendKey method of the WebElement class instead.

  • The findElementByXXX methods are deprecated and removed. Use the findElement(By.xxx(“”)) methods instead.

  • The MobileBy class is deprecated and removed. Use the AppiumBy class instead.

  • Timeouts used to be specified using long values. Now, the Wait methods with parameter long are deprecated and removed. Use Duration.ofXXX(value) instead.

  • Applicable only to mobile execution (of web, hybrid, or native apps): All Perfecto-specific desired capabilities in the config file (testng.xml) need to be prefixed with: perfecto: . For example: perfecto:securityToken

  • Applicable only to mobile execution (of web, hybrid, or native apps): All Perfecto-specific desired capabilities in the application.properties file need to have a key starting with: perfecto.capabilities.xxx. For example: perfecto.capabilites.securityToken

  • Log4j dependencies are removed from the framework. Provide log4j-related dependencies in your pom.xml file.

Deprecation warnings

  • The Driver.getCapabilities().getPlatform() method is deprecated. Use Driver.getCapabilities().getPlatformName() instead.

  • The io.appium.java_client.TouchAction class is deprecated. Use the Sequence class instead.

  • Opera browser support is deprecated. This is not relevant for Perfecto.

1.3.0b

20 Jul 11:46
cf545d1
Compare
Choose a tag to compare
1.3.0b Pre-release
Pre-release

Changes in the 1.3.0b release -

  1. Selenium version upgrade from 3.141.59 to 4.1.0
  2. perfectomobile.version upgrade from 18.3.0.3 to 18.6.0.0
  3. QAF and QAF support version upgrades from 3.0.0 to 3.1.0
  4. dom4j dependency group id updated to org.dom4j
  5. Added NettyClientFactory class
  6. UIDriverFactory changes for QAF changes
  7. UIDriverFactory Updated code to add proxy configuration in the ClientConfig
  8. Removed QAFExtendedWebDriver class overriding - Need to implement a solution to not quit the driver for the shared session.
  9. Updated the timeout code at all places for Selenium change of Duration class usage.
  10. Changed the code desiredCapabilities.getPlatform() to desiredCapabilities.getPlatformName().
  11. Removed AndroidScrollKeys method as the getKeyboard() method is removed from Android Driver.

Steps to upgrade your project -

  1. Change the Quantum version in properties: <quantum.version>1.3.0b</quantum.version>
  2. Can remove the slf4j-log4j12 dependency as it is no longer needed.

Note - There are limitations with this release:

  1. This release contains a selenium 4 upgrade, mobile web, and mobile application automation are not supported in this release. For the mobile web and mobile app automation, we will need to upgrade the Appium versions once Perfecto cloud is ready with Appium 2.
  2. This release is a beta release and not an official one, therefore, if you are testing mobile web/mobile app then it is recommended to wait for the official release.
  3. If you were using NTLM proxy configurations of Quantum in the previous release then in some cases you may require to override Selenium's NettyClient class and add the proxy code to it. (For more info on this please create a Perfecto Support case) We have added the ClientConfig Proxy in the driver but it seems to not work for some specific types of client networks and therefore there may be a need to override the selenium class.

1.23.0

09 Jun 23:14
Compare
Choose a tag to compare
  • Added keys to restart the driver after a specific time period by default the time will be 1 hour. This will increase the stability of the executions as longer driver sessions will result in random failures.
  • Use this key to enable the default 1 hour driver restart - perfecto.driver.restart.timer.flag=true
  • To change the driver restart time add this key in application properties along with the above key - perfecto.driver.restart.timer.value=3600
  • The above timer-based configuration will restart the driver at the end of the test case after the timer threshold is met. For example - the default timer of 1 hour will restart the driver after the last test case is finished after completing 1 hour.
  • If your test cases are dependent on each other then you can use the @RestartDriverAfterTimeout Cucumber tag and the driver will be restarted at the end of the scenario that contains this tag.
  • Added conditions to automatically ignore DriverInitListener when shared device session is used & for virtual devices.
    -NTLM proxy authentication in APIs no longer needs username, password & domain as mandatory parameters. only mentioning host and port will work.
  • Axe accessibility is integrated for browsers.
  • Added JavaScript utility methods for a click, sendKeys, scroll, events.
  • Device VItals capturing methods have been added to the utilities.
  • Added timestamps in the logs.
  • Optimized the video download feature. Previously, there were multiple same/duplicate video files getting downloaded for test cases that were executed using the same driver sessions. The videos will be downloaded based on the driver sessions and not on test cases.
  • Upgraded QAF version to 3.0.0
  • Fixed Image Injection method related bug for the id type of method.

1.22.0

13 Oct 08:34
Compare
Choose a tag to compare
  • Added the option for a device availability check before creating a driver.
  • Upgraded the Appium Java Client to version 7.3.0 and made the necessary changes.
  • Fixed an issue with a new pattern in the step parameter. (Related to Github Issue #64)
  • Added service functions of the Perfecto features Call, SMS, and Email. (Github Issue #72)
  • Upgraded log4j to log4j version 2. The old log4j version has security vulnerability warnings shared by Github bots. The changes to upgrade to log4j 2 are mentioned in the article shared at the bottom.
  • Added application installation utility methods to perform sensor instrumentation to the project.
  • Added Accessibility Audit Command method, steps, and download feature.
  • Fixed a bug in the image injection step definition.
  • Added a condition to not quit the driver if there is a shared deviceSessionId capability in the driver.

More details on the above points and the instructions on how to upgrade your Quantum Project can be found in the Perfecto Documentation Portal - https://developers.perfectomobile.com/x/YJuuAw

1.21.2

06 Aug 18:00
872636b
Compare
Choose a tag to compare

This is an interim release for urgent feature release:

  1. The issue with Virtual devices for driver.close() command - Fixed. (Added condition to not execute the close commands for virtual devices.)

1.21.1

08 Apr 18:34
Compare
Choose a tag to compare

This is an interim release for urgent feature release:

  • Added the support to add custom fields in Digital Zoom reports using the ConfigurationManager or TestNG Parameters or runtime parameters or prop files.
    Syntax ->
    key name - "custom.field"
    value syntax - "customField1-customFieldValue1,customField2-customFieldValue2"
    Optional key - "custom.field.delimiter" (Can be used to change the default delimiter '-' to some other character)
  • Minor fix for the Null pointer if the Platform name is null.