Skip to content
Sai Krishna edited this page Oct 31, 2018 · 1 revision

To validate your parallel test with Applitools follow below steps

1. Add the dependency to your pom.xml

       <dependency>
            <groupId>com.applitools</groupId>
            <artifactId>eyes-selenium-java3</artifactId>
            <version>RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>io.appium</groupId>
                    <artifactId>java-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.seleniumhq.selenium</groupId>
                    <artifactId>selenium-java</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.applitools</groupId>
            <artifactId>eyes-images-java3</artifactId>
            <version>RELEASE</version>
       </dependency>

2. Create ApplitoolsListener.java Listener

package com.appium.utils;

import com.appium.manager.AppiumDriverManager;
import com.applitools.eyes.BatchInfo;

import com.applitools.eyes.StdoutLogHandler;
import com.applitools.eyes.selenium.Eyes;
import org.testng.*;

public class ApplitoolsListener implements  IInvokedMethodListener, ITestListener {
    private static BatchInfo batch = null;
    private Eyes eyes;
    private static ThreadLocal<Eyes> localEyes_ = new ThreadLocal<>();

    @Override
    public void beforeInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
        localEyes_.get().open(AppiumDriverManager.getDriver(),"ATD","Test");
    }

    @Override
    public void afterInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
        localEyes_.get().close();
        localEyes_.get().abortIfNotClosed();
    }

    public static Eyes get() {
        return localEyes_.get();
    }


    @Override
    public void onTestStart(ITestResult iTestResult) {
        if (eyes == null) {
            eyes = new Eyes();
            eyes.setApiKey("YOUR_KEY");
            eyes.setIsDisabled(false);
            eyes.setLogHandler(new StdoutLogHandler(true));
            localEyes_.set(eyes);
        }

    }

    @Override
    public void onTestSuccess(ITestResult iTestResult) {

    }

    @Override
    public void onTestFailure(ITestResult iTestResult) {

    }

    @Override
    public void onTestSkipped(ITestResult iTestResult) {

    }

    @Override
    public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) {

    }

    @Override
    public void onStart(ITestContext iTestContext) {

    }

    @Override
    public void onFinish(ITestContext iTestContext) {

    }
}

3. Add the Listener in config.properties

LISTENERS=com.appium.utils.ApplitoolsListener

4. Usage in Test

ApplitoolsListener.get().checkWindow("Initial view");