We use essential cookies to make our site work. With your consent, we may also use non-essential cookies to improve user experience and analyze website traffic. By clicking “Accept,” you agree to our website's cookie use as described in our Cookie Policy. You can change your cookie settings at any time by clicking “Preferences.”
Octopus Deploy integration

Octopus Deploy testing: run automated tests as a deployment step

Green deployments do not always mean green outcomes. Add Testery as a step in your Octopus Deploy process to run functional and end-to-end tests on each artifact, then gate promotion to production on the results. No rewrites, using the tests and frameworks you already have.

Installs from the Octopus community library  ·  Works with your existing suite  ·  Fails the deploy when tests fail
Octopus Deploy  ·  deployment task log

> Deploy web-app 2.14.0 to Test

Package deployed successfully

Step: Testery - Create Test Run

→ 642 tests across 24 runners · smoke + regression

640 passed   2 flaky, passed on retry · 2m 48s

Tests passed. Promotion to Production unblocked.

deploy gated
2-4x faster
flake-resistant
Test before you promote

Run your tests inside the deployment process

Octopus Deploy orchestrates your deployments, but it is not a test runner. Adding the Testery - Create Test Run step lets you execute functional and end-to-end tests on the artifact you just deployed, before it is promoted. If the artifacts are red, you find out in the pipeline, not in production at the worst possible time.

How it works

A test step that gates promotion

Deploy the artifact, run the tests against it, and let the result decide whether the release moves forward.

Deploy the artifact

Your normal Octopus process deploys the build to a Test or Staging environment, exactly as it does today.

Run the tests on Testery

The Testery step kicks off your suite against the freshly deployed environment and waits for the run to complete.

Pass promotes, fail blocks

Passing tests let the release promote through your lifecycle. A failure fails the deployment and stops the bad artifact cold.

Setup

Add the Testery - Create Test Run step

Four steps from your existing process to a gated, tested deployment.

  1. 1

    Upload your test artifacts to Testery

    Point Testery at the test suite you already have, in the repo you already use. No rewrites, no new framework to learn.

  2. 2

    Add the Testery step to your process

    In your Octopus project, open Deployments, Process, Add Step, then search for "testery" and install the Testery - Create Test Run step from the community library.

  3. 3

    Configure the step

    Set your Testery token, project name, and environment. Optionally scope the run with include tags, a build ID, and a git reference.

  4. 4

    Gate the promotion

    Enable wait-for-results and fail-on-failure so a failed run fails the deployment and blocks promotion through your lifecycle.

Good to know: Testery ships four community step templates for Octopus Deploy: Create Test Run, Create Environment, Delete Environment, and Report Deployment. You can install them in-process, or import the JSON from Library, Step templates, Import.

Configuration

Configure the step

A handful of fields wire the step to your Testery project and the environment being deployed.

Testery Token
Your Testery API token, from Settings, Integrations, Show API Token. Store it as a sensitive Octopus variable so it stays encrypted and masked in task logs.
Testery Project Name
Matches the name of your project in Testery.
Testery Environment
Matches your Testery environment. Use #{Octopus.Environment.Name} so the names stay in sync as the release moves through your lifecycle.
Testery Include Tags
Optional. Run a focused subset, for example smoke on the way to a Test environment and full regression before Production.
Build ID
A unique identifier from your build server or Octopus that ties the run back to the exact artifact being deployed.
Git Reference
The commit hash of the test repository. Pull it dynamically from the package build information (see the snippet below).
Git Reference, pulled from package build information
#{each buildInfo in Octopus.Deployment.PackageBuildInformation}#{buildInfo.VcsCommitNumber}#{/each}
Quality gate

Gate promotion to production on green tests

Turn the step into an automated quality gate, so only tested artifacts move forward.

  • Enable wait-for-results so the deployment waits for the run to finish before continuing.
  • Enable fail-on-failure so any failing test fails the step, the deployment, and the promotion.
  • Use run conditions to scope the step to the environments where you want the gate to apply.
  • Promote with confidence: a green run is a fact your lifecycle can act on, not a guess.
Built for the test step

Fast runs, real visibility

Parallel, without the plumbing

Testery runs your suite across managed cloud runners, 2-4x faster, with no Selenium grids or test containers to babysit.

Flaky tests handled

Detect, quarantine, and intelligently retry flaky tests so an intermittent failure does not block an otherwise green release.

Results where you work

Pass and fail output streams into the Octopus task log, with full per-test reports, history, and trends in the Testery dashboard.

Works with your stack

Keep your tests. We run them.

Run the frameworks you already use, in the repo you already have. No rewrites, no walled garden.

PlaywrightCypressWebdriverIONightwatch.jsCucumberSpecFlowPyTestNUnitTestNG

Trusted on large, complex suites

Testery is the best way to run our large, complex test suites.
David GuimbellotEngineering Manager, Atlassian

Making the case to your team? See the business impact of testing in your Octopus pipeline: cost, speed, and release predictability.

See the business case
FAQ

Octopus Deploy testing, answered

Can Octopus Deploy run automated tests?

Octopus Deploy orchestrates deployments rather than executing tests itself, but you can run automated tests directly in the deployment process by adding a test step. The Testery - Create Test Run step, installed from the Octopus community library, triggers your functional or end-to-end suite against the artifact you just deployed, waits for results, and can fail the deployment if tests fail, so testing becomes a native part of your pipeline.

How do I add a test automation step to my Octopus deployment process?

In the Octopus Web Portal, open your project, then Deployments, Process, Add Step, and search for "Testery - Create Test Run" to install it from the community library. Then set your Testery API token, project name, and environment (use #{Octopus.Environment.Name} to keep names in sync), and optionally add include tags, a build ID, and a git reference.

How do I stop a release from promoting to production until tests pass?

Enable wait-for-results and fail-on-failure on the Testery - Create Test Run step. The deployment waits for the run to finish, and if any test fails the step fails, which fails the deployment and blocks promotion through your Octopus lifecycle. When the tests pass, the release is free to promote to the next environment, giving you an automated quality gate before production.

Which test frameworks work with Octopus Deploy and Testery?

Testery runs your existing tests with no rewrites. Supported frameworks include Playwright, Cypress, WebdriverIO, Nightwatch.js, Cucumber, SpecFlow, PyTest, NUnit, and TestNG, covering functional, end-to-end, API, and regression testing. Because Testery runs the suite on managed cloud runners, you do not have to build or maintain Selenium grids, headless browsers, or test containers yourself.

Where do the test results show up after the deployment runs?

Pass and fail output is streamed into the Octopus deployment task log, so you see results in the same place as the rest of the deployment (switch the log level to Verbose for full detail). Complete per-test results, artifacts, history, and trend reporting are available in the Testery dashboard for deeper triage.

What do I set for the Git Reference and Build ID?

Set Git Reference to the commit of the test repository you want to run. You can pull it from package build information using #{each buildInfo in Octopus.Deployment.PackageBuildInformation}#{buildInfo.VcsCommitNumber}#{/each}. The Build ID is a unique identifier from your build server or Octopus that ties the run back to a specific build, so your test runs stay traceable to the exact artifact being deployed.

Do I need to keep my Testery API token secret in Octopus?

Yes. Get the token from Settings, Integrations in Testery and store it as a sensitive Octopus variable so it is encrypted in the database and masked in task logs, then reference that variable in the step rather than pasting the raw value. This keeps the credential out of plain text while still letting the step authenticate to your Testery account.

Test every artifact before it ships.

Create a free Testery account, install the step, and run your first gated deployment in minutes.