Skip to main content

Apps: Test Multiple Applications in One Test Project

Written by Ines

Overview

Apps let you include more than one application in a single Test Project, for example a web frontend, an admin panel, and a backend API. Each application is represented by an App, and every Environment stores its own URL (or mobile build) for each App. This lets you test workflows that span multiple Apps in one Test Case, including multiple Web Apps and APIs, while reusing the same project credentials, variables, and connectors.

This article explains what an App is, how to add and configure Apps, how to point each App at the right URL per Environment, and how to reference a specific App from your Test Steps.

What is an App

An App represents one distinct application inside your Test Project. Each App corresponds to one of the applications that make up your product under test, for example a customer-facing frontend, an admin panel, or a backend API.

A Test Project can contain multiple Apps. This is what makes cross-application testing possible: a single Test Case can change a setting in your admin App and then verify the result on your customer-facing App, without leaving the project.

One App in every project is the default App. It is created automatically when the project is created, so single-app projects keep working exactly as before. You only add more Apps when you need them.

App types

Thunders supports four App types. You choose the type when you create the App.

  • Web App: a browser-based application, tested through UI automation. This is the most common type.

  • API: a REST, GraphQL, or other HTTP service, tested through API Call steps.

  • Mobile App: a native iOS or Android application, tested on real devices. Mobile Apps are configured with an APK or IPA build rather than a URL.

  • Desktop App: a native desktop application (Windows, macOS, Linux), tested through a browser session rather than on your local machine (see Testing a desktop application below).

Web App and API are available in every Test Project. Mobile App requires mobile testing to be enabled for your organization.

Prerequisites

  • The Admin role to add, edit, archive, or delete Apps. Members can view Apps and reference them in tests, but cannot manage them.

View your project's Apps

Open your Test Project and select Apps in the left navigation. The Apps view shows one card per App, plus a New app card to create another one. Each card shows the App name and a colored badge with its type (Web, API, Mobile app, or Desktop).

The header shows how many Active Apps the project has. You can sort newest or oldest, and toggle Show archived to include Apps you have archived.

Add an App

You can create an App in two places:

  • When you create a Test Project, the Set up your first app step of the onboarding wizard (Project setup → Configure your first app → Set up environment → Review and Create) creates your project's first App.

  • At any time afterwards, from the New app card in the Apps view.

To add an App from the Apps view, select the New app card, then complete the two steps.

App settings

  • Enter an App name. Names can be 1-50 characters and may contain letters, numbers, spaces, hyphens, and underscores. Choose a short, recognizable name such as Storefront, Admin, or Public API. The name is also used to build the App's URL variable (see Reference an App in your Test Steps below).

  • Select the App type: Web App, API, Mobile App, or Desktop App.

Environments

  • For Web and API Apps, enter the URL this App should use in each of your Environments.

  • For Mobile Apps, upload the APK or IPA build for each Environment instead of a URL (see Mobile Apps: uploading a build below).

  • Desktop Apps are not configured directly. See Testing a desktop application below.

You can leave a URL empty for now and fill it in later from the Environment editor.

Testing a desktop application

Thunders runs desktop tests in a browser, not on your local machine. So a Desktop App is not tested as a standalone type: to test a desktop application, select Web App instead, stream or mirror your desktop application into a browser-based session, then use that session's URL when you set up the Web App.

Configure App URLs per Environment

An Environment (Development, Staging, Production…) holds its own URL for every App in the project. This is what lets you run the same Test Cases against different deployments without changing them.

Open Environments, select an Environment, and find the App URLs section. Each App in the project has its own labeled URL field, tagged with the App type. Enter the URL this App uses in that Environment. For example, your Storefront App might point to https://staging.example.com in Staging and https://example.com in Production.

The App URL variable

Next to each App's URL field, Thunders shows a variable chip such as [APP_STOREFRONT_URL]. This is the token you use in your Test Steps to refer to that App's URL. Use the copy button to copy it.

The variable name is built automatically from the App name: the name is upper-cased, and any character that is not a letter, number, or underscore is replaced with an underscore. The result is wrapped as APP__URL.

  • Storefront becomes [APP_STOREFRONT_URL]

  • Public API becomes [APP_PUBLIC_API_URL]

  • Admin 2.0 becomes [APP_ADMIN_2_0_URL]

Because the variable follows the App name, keep names simple and avoid two Apps whose names reduce to the same variable (for example My-App and My App both become MY_APP).

Mobile Apps: uploading a build

Mobile Apps do not use a URL. In the App URLs section, a Mobile App shows a Drag and drop or click to browse APK or IPA area instead. Upload the build for each Environment:

  • Accepted files: .apk (Android) and .ipa (iOS).

  • Maximum size: 500 MB.

  • Builds are per Environment. A build uploaded to Staging is not reused for Production.

Reference an App in your Test Steps

Once an App has a URL in the current Environment, you can point a Test Step at it using its URL variable. Type [ or / in the step editor to open the variable picker, or paste the variable copied from the Environment editor.

Example Test Steps for a project with a Storefront App and an Admin App:

  • Go to [APP_ADMIN_URL] and enable the new checkout banner

  • Go to [APP_STOREFRONT_URL] and verify the checkout banner is visible

At run time, Thunders replaces each [APP__URL] with that App's URL for the Environment you are running against.

Existing tests keep working. If your Test Cases already use the general Environment URL, they continue to run against the project's default App. You do not need to rewrite them.

Thunders AI understands your Apps. When you ask Thunders AI to write steps, it knows your project's Apps by name, so an instruction like "go to the Admin app and…" produces a step that targets the correct App.

Choosing the App when you run a test

Test Cases belong to the Test Project, not to a single App. When you run a test (or open the Recorder), the run settings include an App selector so you can choose which App the run targets; it defaults to your project's default App. For Mobile runs, Thunders resolves the Mobile App and its build for the selected Environment automatically.

Cross-app testing

Apps are especially useful when one Test Case needs to move across several applications, for example multiple Web Apps and an API. A typical flow:

  • Go to [APP_ADMIN_URL], sign in, and change a configuration value.

  • Go to [APP_STOREFRONT_URL] and confirm the change is reflected to end users.

  • Optionally, call [APP_PUBLIC_API_URL] with an API Call step to assert the same value through the API.

Because all three Apps live in one project, they share the project's variables, credentials, connectors, and test assets.

Edit or archive an App

Open the Apps view and select an App card to edit it.

  • Rename the App or update its per-Environment URLs. Renaming an App changes its URL variable, so update any Test Steps that referenced the old name.

  • Change the type: you can switch between Web App and API. Mobile and Desktop types cannot be changed after creation.

  • Archive an App you no longer test. Archived Apps stay in the project (toggle Show archived to see them) but their URL variable no longer resolves, so tests that reference an archived App will fail. Un-archive it to restore the variable.

Did this answer your question?