Upgrade Quantum to version 1.17

This article guides you through the upgrade of the Quantum framework to version 1.17 in your automation project. The release notes for Quantum version 1.17 are available here.

To upgrade your project: 

  1. In the pom.xml file of your project, change the testng.version and quantum.version properties in code in your file. Also make sure other details match the values mentioned in the following code snippet.

    Copy
    <properties>
          <testngXmlDir>src/main/resources/config</testngXmlDir>
          <testngXmlFile>testng_web.xml</testngXmlFile>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <reportium-sdk.version>1.2.0</reportium-sdk.version>
          <testng.version>6.10</testng.version>
          <cukes.version>1.2.5</cukes.version>
          <qaf.version>2.1.13</qaf.version>
          <qafsupport.version>2.1.13</qafsupport.version>
          <quantum.version>1.17</quantum.version>
          <org.json.version>20160810</org.json.version>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
  2. Remove following QAF dependencies in the dependencies section of your pom.xml file. Going forward, your project will automatically inherit the correct QAF versions directly from your Quantum jar's dependencies.

    Copy
    <dependency>
        <groupId>com.qmetry</groupId>
        <artifactId>qaf</artifactId>
        <version>${qaf.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-remote-driver</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.qmetry</groupId>
        <artifactId>qaf-support</artifactId>
        <version>${qafsupport.version}</version>
    </dependency>
  3. Add following TestNG dependency in the dependencies section following the Quantum support dependency:

    Copy
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
    </dependency>
  4. Remove any occurrences of Appium (java-client) dependency from the dependencies section of your pom.xml:

    Copy
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>4.1.2</version>
    </dependency>
  5. Make sure your dependencies section includes the following code. If you use any other libraries, include them in this section.

    Copy
    <dependencies>
        <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${cukes.version}</version>
    </dependency>
    <dependency>
        <groupId>com.quantum</groupId>
        <artifactId>quantum-support</artifactId>
        <version>${quantum.version}</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
    </dependency>
    <dependency>
        <groupId>com.perfecto.reporting-sdk</groupId>
        <artifactId>reportium-testng</artifactId>
        <version>${reportium-sdk.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.7</version>
    </dependency></dependencies>