Appium

To learn how to run Appium Driver tests with Java in Perfecto, review the following information. If you are already familiar with Appium, check out our condensed Quick start: Run your first Appium test with Perfecto article instead.

To learn about Appium 2, including how to use an Appium 2-compliant client with Perfecto, see also our free Appium 2.0: Fundamentals course on the Perfecto Education site. To register for this course, you must be logged in. For upgrade information, see Upgrade to an Appium 2-compliant client.

The following setup information is based on a sample project available on GitHub, created to help you get up and running with Appium and Perfecto. The project is a working example that demonstrates how to configure and run Appium tests in a Perfecto environment, making it easier to understand the setup and adapt it to your own use cases.

Important: The sample project is fully compatible with Appium 2 and continues to use the desiredCapabilities format to support teams transitioning from Appium 1. For teams adopting Appium 2 from scratch, consider exploring the options-based syntax to align with the W3C WebDriver specification. For guidance on adopting this approach, see the official Appium 2 documentation.

To run a Java Appium script in Perfecto, you should:

  • Be familiar with Appium
  • Have existing tests to work with
  • Be a novice user of Perfecto

The setup process involves modifying your existing scripts to include:

  • What driver you want to use
  • Where your Perfecto instance is located 
  • Who you are
  • What devices you want to work on
Important: This document includes references to third-party products, Eclipse IDE and IntelliJ IDEA. The user interface and usage of third-party products are subject to change without notice. For the latest published information about Eclipse IDE, see https://www.eclipse.org/documentation. For the latest published information about IntelliJ IDEA, see https://www.jetbrains.com/help/idea/getting-started.html.

Prerequisites

Before you get started, make sure you have installed the following:

  • Java 11

  • An IDE of your choice, such as Eclipse or IntelliJ IDEA (consider using IntelliJ IDEA for a better Appium and Maven integration)

  • Maven

Additional setup per IDE

If you use Eclipse with the following:

If you use IntelliJ IDEA with Apache Maven, install the Maven plugin for IDEA. IntelliJ IDEA versions 7 and later include the TestNG plugin as a built-in plugin.

Optional installations

For source control management, you can install git.

This plugin is usually bundled with the IDE, but ensure it is enabled.

Appium limitations

Perfecto is aligned with Appium and, therefore, does not support using the clipboard for copy-paste operations on real devices.

For reference, see the Appium information for the custom command extensions mobile: setPasteboard and mobile: getPasteboard.

1 | Get started

  1. Access the sample project in GitHub and copy the  clone URL.
  2. Open your IDE and check out the project from GitHub.

2 | Configure the script for Perfecto

In this step, we update the pom.xml file with the required Perfecto dependencies and add in security information, the Perfecto cloud name, Smart Reporting information, and test data. We also want to make sure that the script exits gracefully.

The updated TestNG script is called PerfectoAppium.java. The following procedure walks you through the configuration. The script can be used with any Java-based testing framework.

The script uses a sample application that is in the lib of the project:

You can choose to skip this and immediately start using your own application by adding the application manually to the Perfecto repository and then referencing it in the code. To learn how to upload an item to the repository, see Manage the repository (for upload via the Perfecto UI) or Upload Item to Repository (for upload via the Perfecto REST API).

Important: If you choose to use your own application, these pre-written steps will not work. Instead, we will just check that your app is launching. This will serve as a verification for the entire setup.

Expand a step to view its content.