Appium Studio Training

DZone 's Guide to

Appium Studio Training

This guide to Appium Studio, a tool to make mobile testing with Appium even better, will show you how to get started, connect devices, develop tests, and more.

· Mobile Zone ·
Free Resource

Appium Studio is a tool developed by Experitest to make Appium testing even better.

It cuts the effort and cost of developing and running an Appium based mobile test automation program, helping organizations release better quality mobile apps faster.  

Appium Studio is a test automation environment comprising two key functionalities:

  • Visual test development tool that provides its users with visual tools including a device reflection and object spy, to help testers write robust tests more quickly and easily.
  • Appium execution engine – a robust and stable execution engine designed especially for mobile, enabling test execution outside the application and parallel execution.

This combination helps Appium Studio address many of Appium’s limitations. It allows users to start testing within minutes, reduces costs and effort by enabling testing of iOS apps on Windows machines, and helps improve coverage with out-of-app testing. Tests, as well as execution, are much more stable and results are presented in clear reports. Lastly, Appium Studio supports large-scale parallel execution and comes with guaranteed OS version support. There is even a self-training with videos available.

Following is a step-by-step tutorial on how to install and use Appium Studio:

1. Installation and Set Up

Here is a screenshot of the Appium Studio installation instructions in Experitest’s useful Online Guide: Download it for free now.

Image title

It really is as simple as that.

The tool comes pre-packaged with all of the required tools and dependencies. Even on a clean machine – you won’t need to install any other components. The hassle of installing Appium and related tools and maintaining version compatibility is completely avoided.

Installing and setting up Appium Studio is also simplified by the fact that you can work on Windows machines to write and execute iOS tests (and vice-versa).

In addition to the Online Guide, there is also an active Appium Studio community forum. It is used for questions as well as for version updates. According to my observations, questions are answered quickly both by the Experitest team and by a growing number of fellow Appium Studio users.

2. Using Appium Studio - Visual Interface

The visual interface or “studio” guides you as you work and provides immediate visual feedback, so you understand what you did, and you can identify errors immediately.

Main areas in Appium Studio visual interface are the Device Manager, Application Manager, Command Area, Device Reflection and Object Spy.

Image title

3. Connecting a Device

Appium Studio allows you to work both with locally connected devices or with a selection of remote devices located in Experitest’s mobile device cloud: SeeTest Digital Assurance Lab.

As mentioned before, Windows and MAC machines can be used to test on both Android and iOS devices. Simulators and Emulators are supported as well.

Appium Studio provides a step-by-step Wizard for connecting local devices:

Image title

4. Provisioning Apple Credentials

Another place where Appium Studio saves a lot of time and frustration is provisioning Apple credentials, using a simple wizard to gather the information and automatically provision it anytime it is needed.

Image title

Image title

Image title

Once you enter your Apple developer account user and password, these credentials will be used to register any device you open to your account and to download the "Provisioning Profile."

Image title

5. Using the Dynamic Device Reflection

Selecting a device, whether local or remote, immediately opens a fully controllable device reflection. Perform operations such as clicking on the screen to access systems and 3rd party applications, use swipes and gestures, and click soft buttons such as the home button or control the device orientation. Through the device reflection, you also have access to important testing and test development tools such as the object Spy, the device Vitals monitors, Device log, and more.

Image title

The device reflection is extremely powerful both for developing tests and for validation purposes: You can run your tests in Appium studio and watch them being executed on the reflection to ensure they are behaving as they should.

6. Installing and Opening Applications

Applications can be installed locally or uploaded and installed to the cloud.

Both options are just as easy and done using the application manager. Any actions done manually can be integrated into the automation scripts with utility commands.

The application manager allows you to perform numerous application management actions such as installation, launch, close, instrumentation, clearing data, uninstall, signing and management of language files.

Appium Studio also supports version management for effective automation.

Image title

When opening an application, Appium Studio automatically identifies required capabilities and populates the capabilities area. You can select or de-select the capabilities according to the test scenario you wish to automate.

Appium Studio has several built-in applications and tests to help you get started.

Image title

7. Developing Tests

Appium Studio makes test scripting extremely easy with the device reflection and set of visual tools. Tests can be created with a recorder or with the help of the highly visual Object Spy.

Both methods can be used for native, web and third-party apps.

Recording a Test

To record a test, simply click the record button, in the Appium Studio command area and use the device reflection to perform your use case.

Once done, the relevant commands will be populated in the command area. You can now run the test for instant verification, select or de-select steps and manage test capabilities.

The test code and log file, appear at the bottom of the screen for your convenience.

Image title

Using the Object Spy to Create and Edit Tests

You can edit recorded tests or create new ones with the Object Spy.

This is a powerful tool that identifies and highlights all elements on a page, along with unique identifiers, whether native or web.

Simple copy paste functionality allows to add unique identifiers to the command area, help you create robust tests.

The Object Spy color codes elements on the device reflection to help you distinguish between instrumented (red) and non-instrumented (yellow) elements and web elements (blue). Your current selection always appears in green.

Testing Outside the Application

The most remarkable thing about Appium Studio is its ability to create tests outside the application context, even for iOS apps – something that is completely missing from Appium. Both the recorder and the object spy allow you to test system apps and 3rd party integrations just as easily as you would test a native app.

Image title

Additional Testing Capabilities and Performance Testing

Appium Studio extends your coverage areas by monitoring device behavior such as battery or CPU consumption, and integration with other Experitest testing tools such as Network Virtualization.

Image title

8. Executing Tests

Tests can be executed from Appium Studio on local or remote devices. You can execute tests with or without test capabilities, or run only specific commands.

You can see the test as it is being executed on the device reflection.

To create an automation project simply copy your code by clicking the “Copy to Clipboard” icon, and paste it in the automation project you created in your IDE.

Large-Scale Parallel Execution

When speaking about mobile test automation, device and OS variety quickly increase the number of tests that need to be executed - this is another area where Appium Studio shines.

Appium Studio comes with out of the box Grid capabilities using SeeTest Digital Assurance Lab.

Image title

appium ,mobile ,mobile testing ,test automation

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}