Provar Desktop

Introduction

Provar is made up of two tools, the Test Builder (used for UI testing) and Provar Desktop (used for everything else). This page provides a reference for the different parts of Provar Desktop and their uses.

Note: a less detailed introduction to Provar Desktop is available in the first minute of this demo video:

Assistant

The Assistant view shows help information from inside Provar Desktop. Its aim is to provide in-tool information to help you build tests.

As of version 1.8.11.29, the Assistant view defaults to Provar Help, replacing the old Welcome Screen:

This includes a search function for finding information in Provar Help, as well as the full Provar Help menu (scrolling down may be required).

The Assistant also shows contextual help as you work in Provar Desktop, for example when using a Function or a Test API:

You can revert to Provar Help at any time by clicking the Home icon at the top of the Assistant view:

Error Log

The Error Log view shows internal errors and problems related to the running of Provar. It may be useful for debugging issues or for describing them to support.

To open the Error Log, click on the View icon and locate ‘Show Error Logs’ in the dropdown.

Menubar

The Provar menubar looks like this:

It has the following features:

New Test: Used for creating new files. This could be a new Test Case, Page Object or Test API. The shortcut CTRL + N can also be used

Save / Save All: Used for saving one or multiple files. The shortcut CTRL + S can also be used

Run / Debug / Test Builder: These icons are for running tests. A test can be run in one of three modes. Refer to Running Tests to learn more about the different modes

Test Environment: Used for selecting the current Test Environment

Web Browser: Used to select the browser in which to execute tests. Chrome, Firefox, Phantom JS and Safari are available (Safari is supported from Provar version 1.8.11.22). Phantom JS is be used for headless testing, which performs UI tests without needing to use a browser. Refer to phantomjs.org for more information

View: Used to define the appearance and positioning of your views. You can close views and expand views or return to the default perspective by selecting this View icon. To define your own perspective, you may customise the layout and then choose Window/Save Perspective from the Menubar

Navigator

The Navigator shows your test project data as it is stored on your machine. By default, tests are stored in the tests folder. You can create sub-folders to further organize your tests.

You can perform standard file-based operations such as Copy, Delete and Rename. If you change any of the files in the filesystem you can also use Refresh to get the latest version.

If you double-click on a file in the Navigator, it will open in the most recently used editor.

The following diagram describes the standard folders and their uses:

Org Browser

When a new Connection is added, Provar will connect to the environment and cache its metadata. The Org Browser shows this metadata as currently cached.

There are filters to locate a specific object (at the top-right of the Org Browser) and to locate a specific row of data (at the bottom of the Org Browser):

It is also possible to drag and drop a row of data from the Org Browser into a Test Case to create an API Test Step:

Provar will periodically check the state of the cached metadata and prompt a refresh if the data is stale. To perform a refresh on the cache, click the icon in the top-right of the Org Browser:

The options are as follows:

Just reconnect: Use this option if you have detected a timeout in the Org Browser (this will not refresh the cache)

Refresh only changed files: This is a fast method of downloading changes

Reload all files: This will download all files

Check if metadata is stale:This will manually trigger the stale check

If any inconsistencies are detected that impact Test Cases, these will be highlighted in the Problems view.

Problems

The Problems view highlights any current errors in your project by checking through your tests for inconsistencies.

Examples of when an error might appear are:

When metadata has changed and a Test Step needs to be updated (e.g. if a field referenced in a Test Step has been deleted)

When a Test Step is missing a mandatory field

When a Test Step is referring to a Connection which does not exist

When an error occurs, you can double-click on the row to navigate to the exception. A quick fix option is provided where possible to help with the refactoring.

Test APIs

The Test APIs view, also known as the API Palette, provides an API library for use in your automated tests. You can add any Test API as a Test Step by clicking on the API and dragging it into your Test Case. To search for a specific Test API, use the magnifying glass icon at the top of the view.

Refer to the Test APIs section for more information on how to use each Test API.

Test Case

The Test Case view is the central view which displays the currently open Test Case. You can open any Test Case by double-clicking it in the Navigator.

Expected Exception

Clicking the icon will add an Expected Exception section to the Test Step. This should be used when an Exception (Stacktrace or Error) is expected to be thrown by the application and this should result in the Test Step passing.

Once Expected Exception is added, the different operators can be used to capture the Exception and make the Test Step successful. If the anticipated Exception is not thrown, the Test Step will be failed.

This should not be confused with Asserting Error Text being displayed on a screen during UI testing, which is part of functional testing. Refer to UI Assert for more information.

Tags and SLAs

The second icon is to add a Tag or SLA Requirement to the Test Step:

Once a Tag or SLA is associated with a Test Step, reports can be generated with results grouped by Tag, e.g. CRM:

Before this can be used, Tags and SLAs must first be created in Test Settings. Refer to Tags & SLA for more information.

Result Assertion

Clicking the icon will add a Result Assertion to a Test Step:

Certain Test Steps will create these for you automatically, but they can be added manually as well. Multiple Result Assertions can be added per Test Step.

Parameter Value Source

Parameter Value Source is used to populate a given variable from data stored in Excel or a database. Once populated, this variable is available for use in Test Parameters.

Configure Parameters

The Configure Parameters () icon allows you to amend the fields associated with a Test Step. Once selected, a dialog box of fields will appear to select from. This is commonly used when adding an API Test Step via the Org Browser.

Test Plug-ins

The Test Plug-ins view displays the plug-ins currently running. Provar is architected to have one plug-in running, for Salesforce APIs.

The Plug-in should have a status of started. Any errors will be displayed in the Log underneath. In case of errors, the Plug-ins can be restarted, started or stopped using the icons in the top right hand corner.

Test Runner

The Test Runner provides a detailed output of the tests you have run. A new Test Run tab is created for each separate Test Run.

You can view the output of each Test Step, including detailed timings and screenshots, by clicking on it:

You can also:

Access relevant test data by clicking on hyperlinks in the output pane

Export results to CSV or PDF by clicking on the Export icon

View runtime variables in the Variables view by clicking on the relevant Test Step and then clicking the Variables icon to bring the Variables View to the front. (Variables are only available when running in Test Builder mode or Debug mode)

Test Settings

Browser Configuration allows you to launch a browser in the desired resolution when executing your Test Case.

Connections

Provar uses an interactive connection into an application to access applications when authoring tests. The Connections tab is where these connection login details are stored.

As well as Salesforce Connections, Provar can create Connections for non-Salesforce testing, database testing, messaging and Google applications. Refer to Adding a Connection for more information.

Double-click on a given Connection to open a new Org Browser for that environment.

Environments

This feature allows a Test Case to be run in multiple test environments without modifying the Test Case.

This screen will allow you to create the environments used on your project.

Environment Variables

Environment Variables are used for any static variable which can vary between environments. These variables are assigned a default value, which can be overridden for a specific environment. This section will display the variable’s values as they relate to the Test Environment selected in the Menubar.

Tags and SLA

Tags allow you to tag and categorize your test steps for better maintenance and to provide grouping levels in a report. SLAs allow you to measure performance parameters at a specific test step execution, such as time taken to load a page.

Once these have been created, they can be assigned to Test Cases. Refer to Tags and SLAs for more information.

Test Cycle

A Test Cycle is conceptually a collection of Test Case executions that are reported on collectively. This feature is extremely helpful in order to get a clean report from a Test suite execution. Refer to Test Cycles for more information.

Variables

The Variables view displays information relevant to a specific Test Step of a Test Run. It will be populated after you run tests in Debug mode or Test Builder mode. It will also display any Environment Variables.

To see variables for a given Test Step, click on the Test Step in the Test Runner.

The variables will be split into three groups:

Parameters: the value of parameters passed into the Test step

Variables (Before): the state of each Variable prior to executing this Test Step

Variables (After): the state of each Variable after executing this Test Step