• Visual testing

  • Easy integration with Selenium and Appium

Get started
ResponsiveUIValidator uiValidator = new ResponsiveUIValidator(driver);

%

Catch 99% of visual issues

Side alignment
Let’s validate that elements have equal size, the are not overlapped and they are TOP | BOTTOM | LEFT | RIGHT aligned
UISnapshot snapshot = uiValidator.snapshot("Are Top Aligned");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .areTopAligned()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Are Bottom Aligned");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .areBottomAligned()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Are Left Aligned");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .areLeftAligned()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Are Right Aligned");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .areRightAligned()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Centred Horizontally");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .areCenteredOnPageHorizontally()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Centered Vertically");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .areCenteredOnPageVertically()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Centred Horizontally");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .alignedAsGrid(3, 3) // columns, rows
        .validate();
Sizing and shaping
Let’s validate that elements have equal size, the are not overlapped and they are inside of container
UISnapshot snapshot = uiValidator.snapshot("Are Not Overlapped");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize()
        .doNotOverlap()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Have Equal Size");
boolean result = snapshot.findElements(page.getElements())
        .haveEqualSize() // Includes width and height
        .haveEqualWidth()
        .haveEqualHeight()
        .validate();
UISnapshot snapshot = uiValidator.snapshot("Are In Container");
boolean result = mainSnapshot.findElement(page.getElements())
        .areInsideOf(page.containerElement(), "Container",
                     new Padding(10, 50, 10, 20))
        .validate();
Generating Reports
uiValidator.generateReport("Some Report Name");
Report Example
[Assertion error]: “Element ‘Top Text block’ has not the same right offset as element ‘Grid Container'”
[Assertion error]: “Element ‘Project details block’ is overlapped with element ‘Image Container’ but should not”
Feedbacks

Automotion” is a great tool for visual testing. We found many gaps that were hidden during the manual testing. Thanks!

Sara

QA Automation

We like Automotion. Nothing to compare with. Pran

Software developer in test

The best framework for visual testing of mobile app. Thank you!
Hope to see better reports!

Alex

QA Engineer

We use it and it works. Glad we found it. Thanks. Irina

QA Automation Engineer

4 + 4 =

Share This