Welcome to Applitools Eyes!

You are just 4 steps away from adding automated visual validation to your tests

Step 2

Install the SDK

The Applitools Eyes Appium PHP SDK allows you to easily add visual checkpoints to your PHP Appium tests. It takes care of getting screenshots of your application from the underlying WebDriver, sending them to the Eyes server for validation and failing the test in case differences are found.

composer require applitools/eyes.sdk.php

If you don't have any installed packages create composer.json file:

{
    "require": {
        "applitools/eyes.sdk.php": "^1.2.6"
    }
}

And then run:

composer install

Step 3

Run your first test

Applitools Eyes reports differences by comparing screenshots of your application with baseline images that define the expected appearance of the application at each step of the test. By default, the Eyes SDK detects the environment in which the application is running and compares the screenshots against baseline images that are specific to that environment (namely, the platfrom name and its viewport size). The first time you run a test in a given environment, its screenshots will be automatically saved as its baseline. Starting from the second run onward, you always have a baseline to compare against.

The test below is a simple PHP program that visually validates a native app. It consists of one visual checkpoint, validating the entire application window. The first time you run this test a new baseline will be created, and subsequent test runs will be compared to this baseline. If any screenshot mismatch its baseline image in a perceptible way, $eyes.close() will throw a DiffsFoundException which includes a URL that points to a detailed report where you can see the detected differences and take appropriate actions such as reporting bugs, updating the baseline and more.

Before running the test, make sure to set the API key that identifies your account in the environment variable APPLITOOLS_API_KEY or directly assign it to the $eyes->setApiKey() method. You can find your API key under the user menu located at the right hand side of the test manager toolbar. If you don't yet have an account create it now to obtain your key.

<?php

require_once('vendor/autoload.php');

use Applitools\Selenium\Eyes;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverBy;

class HelloWorld
{

    protected $webDriver;

    public function demo()
    {
        // Initialize the eyes SDK and set your private API key.
        $eyes = new Eyes();
        $eyes->setApiKey('YOUR_API_KEY');

        // Setup appium - Make sure the capabilities meets your environment.
        // Refer to http://appium.io documentation if required.
        $capabilities = new DesiredCapabilities();
        $capabilities->setCapability("deviceName", "iPhone 5");
        $capabilities->setCapability("platformName", "iOS");
 
        // The original app from Appium github project.
        $capabilities->setCapability("app", "https://store.applitools.com/download/iOS.TestApp.app.zip");

        $driver = RemoteWebDriver::create("http://0.0.0.0:4723/wd/hub", $capabilities);

        try {
            
            // Start visual UI testing
            $eyes->open($driver, "iOS test application", "test");

            // Visual validation point #1
            $eyes->checkWindow("Initial view");
            $driver->findElement(WebDriverBy::name("TextField1"))->sendKeys("3");
            $driver->findElement(WebDriverBy::name("TextField2"))->sendKeys("5");
            $driver->findElement(WebDriverBy::name("ComputeSumButton"))->click();
            
            // Visual validation point #2
            $eyes->checkWindow("After compute");

            // End visual UI testing. Validate visual correctness.
            $eyes->close();

        } finally {

            // Close the app.
            $this->webDriver->quit();

            // If the test was aborted before eyes->close was called,
            // ends the test as aborted.
            $eyes->abortIfNotClosed();

        }
    }
}

$test = new HelloWorld();
$test->demo();

Step 4

Analyze your test results

Congratulations! You've successfully run your first visual UI test with Applitools Eyes! A detailed report is ready for your inspection at the Applitools Eyes test manager. Watch this 5 minute video to get acquainted with the test manager and to learn the basics of baseline maintenance.

Open Test Manager

Step 5

Learn more

Applitools Eyes is powerful platform for automated visual UI testing that supports full page screenshots, page layout matching, cross device and browser testing, test batching, baseline branching and merging, automated baseline maintenance, collaboration features, and much more. You can learn all about these features at the Applitools Eyes documentation and the resources page.