Saltar al contenido

Discover the New Valido App SDK and enhance the visual validation of your ecommerce

In the ever-evolving world of software development, quality and efficiency are paramount. That's why at Orienteed, we're excited to introduce an exciting enhancement to our Valido tool. If you're a professional looking to take your testing to the next level, read on to find out how our new SDK can revolutionize the way you approach validation of your eCommerce apps.

Visual validation has proven to be an essential part of the software development process, allowing teams to quickly identify design issues, presentation errors, and other critical visual issues. Until now, our customers have relied on the intuitive interface of Valido Testing tool to carry out these tests.

However, for those looking for more flexibility and the ability to integrate these tests into their automated workflows, we have developed the Valido SDK.

In this post, I'll explain how the Valido App SDK can boost your visual validation efforts. From the creation and integration with your automatic tests.

Get ready to take your visual validation process to the next level with the powerful Valido SDK!

Valido App SDK

What is an SDK?

An SDK (Software Development Kit) is a set of tools and resources that make it easy to create and develop applications. It provides predefined components, documentation, and key features to streamline the programming process, allowing developers to build software efficiently and quickly. 

Below I will show you several key points for which the Valido SDK is important for testing in an ecommerce:

  1. Efficient automation: Ecommerce usually have a large number of pages, products and variations. Thanks to the SDK it allows us to save resources by running tests in all these areas consistently and quickly. 
  2. Early detection of issues: Automated testing through the SDK can detect design issues, missing elements, or presentation errors early in development, helping to address these issues before they reach end users.
  3. Multiple compatibility: Most ecommerce are tested on various browsers and devices. The SDK can test on different configurations to ensure that the experience is consistent across platforms.
  4. Time and resource savings: Automation through the SDK reduces the need for repetitive manual testing, freeing up the test team to focus on more strategic and complex issues. 

In short, the Valido SDK provides e-commerce with a powerful solution to ensure visual quality and user experience in a highly competitive online environment.

What do you need to use the Valido App SDK?

To start taking advantage of the potential of the Valido SDK is easier than you think. You'll only need a couple of essentials: AWS IAM credentials and your own Valido credentials. Also make sure you have a Java 11 project.

In this guide, we'll show you a series of easy steps to get set up and start taking advantage of the Valido SDK.

Credentials

First of all, we need to have the two types of credentials needed to work with the SDK so get in contact with the Valido App team to get them in case you don't have them.

AWS credentials

AWS credentials are required to write data to S3 and to access the Maven S3 repository. You have three ways to configure these credentials:

- Add them to the file ~/.aws/config. In case you don't have it, you can create it:

 [default]
    aws_access_key_id= value from AWS access portal
    aws_secret_access_key= value from AWS access portal

- Setting environment variables: AWS_ACCESS_KEY_ID and `AWS_SECRET_ACCESS_KEY`.

- Using AWS CLI.
ℹ You can go to Providing Temporary Credentials to the AWS SDK for Java for more details on AWS IAM credentials.

Valido App Credentials 

To access the Valido API and send the results of the execution, you must create a Java properties file with the following structure:

username=myusername
password=supersecretpassword
secretHash=supersecrethash

On the other hand, you also have the option of adding them through environment variables: VALIDO_USERNAME, VALIDO_PASSWORD and VALIDO_SECRETHASH.

Project settings

The Valido SDK is stored in the private Maven repository on S3, so you need the following configuration in your project's POM file. In this sample .pom, the only tags you need to import are: , , , and thevalid-framework . valido-framework <dependency>.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.orienteed.valido</groupId>
    <artifactId>sdk-test</artifactId>
    <packaging>jar</packaging>
    <version>0.1.0</version>
    <repositories>
        <repository>
            <id>s3.release</id>
            <name>Orienteed S3 Maven Release Repo</name>
            <url>s3://maven-repo.orienteed.com/release</url>
        </repository>
        <repository>
            <id>s3.snapshot</id>
            <name>Orienteed S3 Maven Snapshot Repo</name>
            <url>s3://maven-repo.orienteed.com/snapshot</url>
        </repository>
    </repositories>
       
    <distributionManagement>
        <snapshotRepository>
            <id>s3.snapshot</id>
            <url>s3://maven-repo.orienteed.com/snapshot</url>
        </snapshotRepository>
        <repository>
            <id>s3.release</id>
            <url>s3://maven-repo.orienteed.com/release</url>
        </repository>
    </distributionManagement>
   
    <dependencies>
        <dependency>
            <groupId>com.orienteed.valido</groupId>
            <artifactId>valido-framework</artifactId>
            <version>0.13.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
   
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <fork>true</fork>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>com.allogy.maven.wagon</groupId>
                <artifactId>maven-s3-wagon</artifactId>
                <version>1.2.0</version>
            </extension>
        </extensions>
    </build>
</project>

Creating a test with the SDK from Valido App

Configure flow properties

First, before we start with the code, we need to create a Java .properties file for each stream. For Valido a flow is a test.

env=pro
secretsPath=location/of/valido-credentials.properties
region=ES
resolution=DESKTOP
device=1400x800
os=windows
browser=chrome
driverPath=location/of/driver

- `env` The Valid environment to which it is addressed.

- `secretsPath` The location of the Valid credentials file.

- `region` Must be a two-letter ISO country code.

- `resolution` The resolution is determined by the device: DESKTOP, MOBILE, TABLET.

- `device` You can specify a device ID or a resolution in the format *width x height*.

- `os` Operating system for the test run.

- `browser` Specifies the browser where the test will be executed. *chrome, firefox, safari...*

- `driverPath` The location of the browser driver to use to run the test.

It is possible that for your projects this configuration can be of a generic nature, so to facilitate the process you can also establish them as environment variables. To set them as environment variables they must follow the following format: VALIDO_(PROPERTY_KEY), all in capital letters.

Subscribe to our newsletter.

Stay tuned to the best practices and strategies in e-commerce and grow the business as leading brand in your industry.

Implementation of a test

Go to the Valido App and click on Valido Lab [beta] located in the left sidebar. In this section you must give a name to your test and select the brand or organization, in which this test will be, and click on the button create. The application returns a *flow ID*, you must save it, because you will need it to reference this flow within our project.

Valido App SDK

Now if you want to implement the SDK in your test, you must:

- Extend the class ValidoCore

- Pass the stream ID and the path of the property files to the constructor.

package com.orienteed.valido.cores;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.net.URISyntaxException;
import org.junit.jupiter.api.Test;
import com.orienteed.valido.api.ValidoAPIException;
public class SdkExecutor {
    String flowId = "00000xx0-x000-00xx-0000-0x0x0x0d0xx0";
    String path = "src/test/resources/valido/chrome-flow-specs.properties";
    @Test
    public void test1() throws IOException, ValidoAPIException, URISyntaxException {
        new SdkFlow(flowId, path).run();
    }  
}

To be able to access the driver, you just have to use the method getDriver()In case you want to establish one, there is also the method setDriver().

package com.orienteed.valido.cores;
import java.io.IOException;
import java.net.URISyntaxException;
import com.orienteed.valido.api.ValidoAPIException;
public class SdkFlow extends ValidoCore {
    public SdkFlow(String flowId, String path) throws IOException, ValidoAPIException, URISyntaxException {
        super(flowId, path);
    }
    @Override
    public void flow() throws IOException, ValidoAPIException {
        getDriver().get("www.valido.ai");
        compare("Home page");
    }
}

Now you can launch your first test and see the results in Valido App.

Integration with CI/CD systems

To integrate with a platform such as Jenkins, in this case it is as simple as establishing the credentials in our job configuration, following the security rules that are established in your organization and making sure that the files .properties have the required parameters. These files are mandatory for the Valido SDK.

Conclusion

In short, the new Valido App SDK has arrived to transform the way we approach visual validation in software development. From its ability to generate visual validation tests through code to its seamless integration with automation tools like Jenkins, this SDK is a powerful tool that empowers development teams to ensure a seamless user experience.

The synergy between the ease of use of Valido and the versatility of the SDK allows developers to focus on creativity and innovation, while ensuring that the appearance and functionality of their applications are always at their best. Whether you are developing a web application or a mobile application, the Valido SDK is ready to accompany you on your journey towards visual excellence in your ecommerce.

So, are you ready to take the plunge and explore the potential of the Valido SDK? Don't hesitate to get started today and experience first-hand how this new tool can improve your visual validation workflows.

At Orienteed, we are excited by the prospect of seeing how our customers make the most of this innovation in their development processes. 

Join us in this new era of visual validation powered by Valido App technology! Contact us here.