Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Rails Support
      • Working with Bundler
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Java Advanced Topics
      • Working with Spring Boot
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Add-ons
  • All Add-ons
  • Loadmill Automated Testing
Loadmill Automated Testing

This add-on is operated by Loadmill Inc.

Automated testing built for Heroku. Generate behavior-driven tests.

Loadmill Automated Testing

Last updated June 03, 2021

Table of Contents

  • Provisioning the add-on
  • Dashboard
  • Migrating between plans
  • Removing the add-on
  • Support

Loadmill is a cloud service for automated back-end testing.

Effective automated tests are essential for agile software development and continuous delivery. A quick feedback loop plays a critical role in your ability to move fast without breaking things. Unlike automated front-end tests (Selenium, Cypress, etc.), which take a long while to run and can brake from minor UI changes, automated back-end tests are a great fit for continuous testing.

Loadmill automatically validates your Heroku app every time you release by running a set of automated API tests. Test scenarios can be created using the Loadmill web IDE or recorded using the Loadmill Chrome extension.

Provisioning the add-on

Loadmill can be added to a Heroku application via the CLI:

A list of all plans available can be found here.

$ heroku addons:create loadmill
Creating loadmill on ⬢ your-app-name... free
Resource has been created and is available!
Created loadmill-cool-123

After you install Loadmill, your application will be tested by the add-on every time you deploy. Test results will be sent to your Heroku account email address.

Dashboard

For more information on the features available within the Loadmill dashboard, please see the docs at docs.loadmill.com.

The Loadmill dashboard and web IDE allow you to create API tests and review test run results.

You can access the dashboard via the CLI:

$ heroku addons:open loadmill
Opening loadmill for your-app-name

or by visiting the Heroku Dashboard and selecting the application in question. Select Loadmill from the Add-ons menu.

Create and manage tests

When installing Loadmill for the first time, a default test suite is created in your team’s account. The suite contains a sample test which sends an HTTP GET request to your application web_url. The value of the web_url parameter is set to be the test application URL every time an app is deployed.

web IDE

You can use the Loadmill web IDE to add test requests, extract parameters from their responses, and define assertions about their values.

For example, the following POST request to create a blog post, is using a JSON body with a dynamic parameter (blog_post_title), extracts the created blog post ID from the response using JSONPath, and validates that it is a valid number using Regex.

complex request example

Newly created test flows will not run automatically by default

To configure a test to run automatically when your app is deployed, check the CI checkbox in the test flow top menu.

CI checkbox

Recording new tests

The easiest way to record an API test is to use the Loadmill recorder Chrome extension.

The Chrome dev-tools extension automatically analyzes HTTP requests sent from the browser, extract URL and body elements into parameters and extractors, and creates replayable API tests. Read more about it here.

Review test results

The test suite run report shows the status of each test flow run.

Test run report

You can drill down into a specific test flow run report and see in full detail all of its HTTP responses and parameter values. This is especially useful when debugging failed tests and identifying new bugs introduced by your latest deployment.

Flow run report

Migrating between plans

Use the heroku addons:upgrade command to migrate to a new plan.

$ heroku addons:upgrade loadmill:newplan
Changing loadmill on your-app-name from loadmill:free to loadmill:newplan...
Your plan has been updated to: loadmill:newplan

Removing the add-on

You can remove Loadmill via the CLI:

This will destroy all associated data and cannot be undone!

$ heroku addons:destroy loadmill
Removing loadmill from your-app-name... done

Before removing Loadmill, you can export your data by hovering over the desired test suite and clicking the export button.

export

Support

All Loadmill support and runtime issues should be submitted via one of the Heroku Support channels. Any non-support related issues or product feedback is welcome at support@loadmill.com or via Twitter @LoadmillTeam. Some of our paid plans include 24/7 support with a 60-minute response time and a call-in phone number.

Keep reading

  • All Add-ons

Feedback

Log in to submit feedback.

Ziggeo Logtail

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences