# Creating the first goal

When arriving at an empty project or when you want to test specific parts of an application you can create a new goal. If you did not follow any specific order for reading this guide, and you are confused about what a goal is, you can check the Core concepts first and then come back here to create your first goal.

# How to create a goal

You can create a goal in Virtuoso with only a few steps:

  1. Click on the New goal button on the Project dashboard;
  2. Give the goal a name (e.g., Example);
  3. Add a URL in the Starting point field (e.g., https://example.com, example.com).

This is the minimum information that Virtuoso needs to create a goal. There are more settings that you can tweak, but we will cover those later.

Fill goal information

  1. Click on the Create & add first journey button at the bottom:

Create and add first journey

After creating the goal, you are now on the Goal view, and you can start building your journey at this point. Whenever you create a goal, Virtuoso will include a first test step which is just a navigation step to your testing web application.

You can execute this journey as it is right now by clicking on the execute journey icon placed on top of your journey, or you can keep reading our guide to know more about how Virtuoso works. You should notice that when your journey starts to execute, the status badge next to the journey will first turn yellow and thereafter green once the execution of the journey finishes.

First step

You can find more information about how to do test authoring at Managing journeys followed by our section Executing tests which provides a more in-depth explanation of how Virtuoso executions work.

# Goal settings

You can customize various aspects of the goal and how Virtuoso should interact with the application in the goal settings panel, beyond the name and the starting URL mentioned before.

For existing goals, you can open the goal settings panel again by clicking on the context menu icon next to the goal's name in the project dashboard, or by clicking on the context menu icon located inside the Goal view of that particular goal. This is also located in the top bar, next to the goal name.

# Browser

Your tests run through a browser on Virtuoso's side. By default, it uses Virtuoso's own Chromium-based browser with a default resolution of 1280x800. However, you can set a custom resolution if desired.

Goal settings - browser

The mobile and desktop variants will all by default use the Virtuoso browser for execution at the given resolution. These are just resolution templates to get you started, but you can execute them on custom real devices as well.

There are other aspects related to the browser that you might be interested in, such as enforcing same-origin policy (CORS) in your executions (disabled by default).

# Environment

Here you can configure which environment should be used by default when Virtuoso runs your goal. Environments are used to inject environment variables into your test steps during execution, you can read more at Environments.

Goal settings - environment

Also, you can set the parallelism limit for your executions, by default there is no limit set and these limits affect how Virtuoso would execute journeys. For example, with no limit set Virtuoso will attempt to execute the maximum number of journeys for your organization limits, but if you set the limit to 1 and execute multiple journeys each will be executed once the previous journey finishes (at most 1 will be active at any given time for that specific execution).

Finally, you set a Virtuoso bridge. This is used to provide a proxied connection to your target application for those cases where it's running in a limited access environment (e.g., localhost, private networks). You can read more at Virtuoso bridge.

# Interaction

This group of settings defines how Virtuoso should interact against your testing application while executing your tests, note these are advanced settings, and you will not need to change them in most cases.

Goal settings - interaction

# Exploration

Virtuoso can perform exploratory testing against an application using machine learning to discover all the possible application states while doing autonomous interactions with the application. This process is known as Exploration on Virtuoso, you can read more at Exploration and Exploring a goal further.

Note that the settings under this section are usually modified only by advanced users, and for specific use cases (e.g., keep track of every page even if they are duplicated when performing an exploration).

Goal settings - exploration

Here you can select a different exploratory testing directive as well as enable or disable the intelligent graph consolidation flag which prevents from having duplicate states as the result of an exploration.

# Manage

If you are a project manager, you can control whether publishing journeys in the goal is restricted to only project admins, or all members of the project with write access (default).

Goal settings - manage

Execute advanced

If you are not sure about some of the settings above, you may find it useful to know that most of these settings can be altered for a single execution by using the Execute advanced option of the goal context menu in the project dashboard, or from the goal view.

Last Updated: 10/20/2021, 8:55:24 AM