DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk7 min

Automate Azure Load Testing Using GitHub Actions: Workflow, Pass/Fail Criteria and Results (2026)

Run Azure Load Testing from GitHub Actions with azure/load-testing@v1, authenticate securely, set client-side pass/fail criteria, and keep the HTML and CSV results as workflow artifacts.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To run Azure Load Testing from GitHub Actions, check your test plan and YAML configuration into the repository, give the workflow permission to use your Azure Load Testing resource, log in to Azure, and call the azure/load-testing@v1 action with the configuration file, resource name, and resource group. Upload the generated loadTest folder so the CSV results and HTML report stay attached to the run. Pass/fail gating in this workflow works through client-side failure criteria defined in the test YAML; server-side metric criteria cannot be enforced from GitHub Actions (details below).

What you need before the workflow can run

Most failed first runs trace back to one of the prerequisites below. Confirm them before editing the workflow file.

As an Amazon Associate I earn from qualifying purchases.

  • An Azure Load Testing resource in the Azure subscription you intend to test from, plus at least one existing load test created in that resource.
  • A test plan (a JMeter .jmx file or a Locust .py file) and a test configuration YAML file committed to the same repository. Any supporting CSV or properties files the plan reads should be committed too.
  • A workflow file under .github/workflows/ in that repository.
  • An identity that GitHub Actions can use to sign in to Azure. Section three compares the options.
  • Access for that identity to the Azure Load Testing resource, using the Azure RBAC role Load Test Contributor, scoped to the resource.

How the workflow runs, step by step

Microsoft Learn’s CI/CD guide for Azure Load Testing describes this sequence. The steps below follow it in order.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Check out the repository with actions/checkout so the test plan and YAML are present on the runner.
  2. Authenticate to Azure with azure/login.
  3. Invoke azure/load-testing@v1 and pass loadTestConfigFile, loadTestResource, and resourceGroup. Paths in loadTestConfigFile are relative to the repository root.
  4. Optionally publish the generated loadTest directory with actions/upload-artifact.

The guide also documents env and secrets inputs for passing values into the test, and waitForCompletion: false for letting the workflow continue without waiting for the test to finish. The guide was reviewed in October 2026, but action versions and inputs change. Check the current action listing in the GitHub Marketplace before copying a sample. The guide’s older example uses azure/login@v1; the Azure Login documentation now shows azure/login@v2, which is what the example below uses.

#1 Best Overall
Klein Tools RT390 Circuit Analyzer with Large LCD, Identifies Wiring Faults, GFCI and AFCI Tester, Voltage Drop, Displays Trip Time
  • CLEAR COLOR LCD DISPLAY: Circuit Analyzer with large color LCD provides easy-to-understand results for wiring faults, AFCI, GFCI, voltage drops, and device trip time
  • COMPREHENSIVE WIRING FAULT DETECTION: Detect and identify common wiring faults in standard, AFCI, and GFCI electrical outlets, ensuring thorough evaluation
  • DUAL WIRING FAULT DETECTION: Capable of detecting dual wiring faults, including open neutral and open ground, enhancing safety measures
  • AFCI AND GFCI DEVICE INSPECTION: Inspect AFCI and GFCI devices, measuring trip time and trip current for accurate functionality assessment
  • LOAD TESTING CAPABILITIES: Conduct 12A, 15A, and 20A load testing to measure percentage voltage drops, providing valuable insights into electrical performance

Example workflow

name: Load test
on:
  workflow_dispatch:
permissions:
  id-token: write
  contents: read
jobs:
  load-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: azure/login@v2
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
      - uses: azure/load-testing@v1
        with:
          loadTestConfigFile: 'tests/config.yaml'
          loadTestResource: 'perf-alt-resource'
          resourceGroup: 'rg-perf-testing'
          secrets: |
            {
              "APP_PASSWORD": "${{ secrets.APP_PASSWORD }}"
            }
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: loadTest
          path: loadTest

The id-token: write permission is required only for the OIDC sign-in method described below. The if: always() condition on the upload step keeps results available when the load test fails the job, which is usually when you most need the report.

Choosing how the workflow signs in to Azure

Microsoft’s documentation describes three patterns that matter for this workflow. They differ in what you must store in GitHub and in where the trust comes from.

Approach What is stored in GitHub Where it fits Notes from the documentation
Microsoft Entra service principal with a client secret Service principal credentials as a GitHub Actions secret Pipelines that cannot use federated identity The Azure Load Testing CI/CD guide uses this pattern and scopes Load Test Contributor to the resource. The guide’s example uses azure/login@v1; prefer the current login action.
OpenID Connect (OIDC) federated credential Client ID, tenant ID, and subscription ID, which are identifiers rather than passwords GitHub-hosted or self-hosted runners that can request a GitHub OIDC token Azure Login’s OIDC flow is the pattern the CI/CD guide points to. It requires id-token: write and a federated credential on the Entra app for your repository.
Managed identity on a self-hosted runner Identity values as secrets; no client secret for the runner identity Self-hosted runners running on Azure compute Azure Login’s guidance includes managed identity examples for self-hosted runners. Assigning the identity to the runner’s host is outside the scope of the workflow file.

Whichever method you choose, keep the identity values in GitHub secrets rather than in the workflow file. Scope the role to the Azure Load Testing resource, not to the whole subscription, so a leaked credential can only operate on that resource.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Schumacher Electric Battery Load Tester, 6V/12V – BT-100
  • RUN 3 TESTS WITH 1 DEVICE: Diagnose battery health, charging system performance, and starter motor draw all from one automotive battery tester—no need for separate tools cluttering your bench.
  • TEST WITH CONFIDENCE: Safely handle 6V and 12V batteries up to 1,000 CA with a 50-amp 6V load test and a 100-amp 12V load test, so you get accurate readings on nearly any battery you throw at it.
  • WORKS ON WHAT YOU DRIVE: Compatible with gas and diesel vehicles, this 6V and 12V battery tester covers motorcycle, ATV, lawn tractor, car, boat, light truck, and RV batteries—one unit for your entire garage.
  • READ RESULTS IN SECONDS: A top-mounted rocker switch and a highly visible analog meter make operation simple, giving you quick and clear results while you hold the unit.
  • COMPLETE PACKAGE: Includes (1) BT-100 Battery Load Tester and Voltmeter, (1) User Manual

Pass/fail criteria: what CI can and cannot enforce

Client-side failure criteria in the test YAML

For CI, define failure criteria in the failureCriteria section of the test configuration YAML. Microsoft’s examples use client-side metrics such as average response time and error percentage. Typical entries look like this:

failureCriteria:
  - avg(response_time_ms) > 300
  - percentage(error) > 5

You can also tie a criterion to a single named request. The name must match the JMeter sampler or the Locust request exactly, or the criterion will not apply to the intended traffic. The workflow log reports the outcome and reflects the load-test status, so a breach shows up in the run.

What GitHub Actions cannot gate on

Microsoft states explicitly that Azure Load Testing does not support configuring failure criteria on server-side metrics from Azure Pipelines or GitHub Actions. Server-side criteria, such as resource utilization on the application under test, are configured through the Azure portal. If you need a build to fail when a server metric crosses a threshold, the documented YAML workflow will not do that for you. You would need to check those metrics in a separate step, through a tool outside this action, or in the portal.

Rank #3
Sale
ANCEL BA101 Car Battery Tester, 12V Digital Automotive Alternator Meter Diagnostic Tool,100-2000 CCA Load Capacity, Charging & Cranking Analyzer for Truck, Boat, RV, Marine Vehicle, and More
  • Catch Battery Problems Early: Featured in two videos by Project Farm, a popular YouTube channel with millions of subscribers, the ANCEL BA101 helps you quickly spot battery issues before they leave you stranded. It provides easy-to-understand readings for State of Health (SOH), State of Charge (SOC), voltage, current, CCA, plus cranking and charging system tests, so you can better understand your battery and help avoid unexpected breakdowns
  • Know the Real Condition: Don’t let inaccurate readings lead to costly surprises. Built with high-quality copper crocodile clips and a precision smart chip, this battery tester is designed to deliver dependable results. For the most accurate test, enter the correct battery type, rating value (such as CCA/Ah), and temperature exactly as shown on your battery label, so you get a clearer picture of your battery’s true condition
  • Fast, Clear, Hassle-Free Testing: The classic black-and-white screen, adjustable contrast, and white backlight make results easy to read in bright sunlight or low-light conditions. One-handed operation keeps testing simple, while direct power from your vehicle’s battery means no charging and no internal batteries to deal with. Multi-language support makes it easier for more users to test with confidence
  • Protection When Mistakes Happen: Built-in 4-in-1 protection helps guard against reverse polarity, short circuits, overcurrent, and overvoltage for safer testing, especially in tight spaces where clamp slips or wiring mistakes can happen. The 3x reinforced ABS housing adds extra durability and helps protect both the tester and your battery during everyday use
  • Built for More 12V Batteries: Supporting global standards including JIS, EN, DIN, SAE, BCI, GB, CA, MCA, and IEC, this tester works with 12V batteries used in cars, trucks, boats, RVs, ATVs, lawnmowers, golf carts, and motorbikes over 30Ah. Compatible with Flooded, AGM, GEL, and EFB batteries. Not for lithium batteries, non-12V batteries (6V/8V/24V), or motorcycles below 30Ah. For 6V testing, choose BA101 Plus. For 24V testing, choose BA101 PRO

Setting waitForCompletion: false has a related consequence. The step returns before the test finishes, so the job cannot use the result as a gate. Leave waiting enabled whenever the pass/fail outcome must block a deployment.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Secrets, Key Vault, and secured endpoints

Passing secrets to the test script

Microsoft’s GitHub Actions example passes a secrets parameter to azure/load-testing. Each entry maps a named test secret to a GitHub Actions secret, as shown in the example above. The name on the left is the secret name your test script reads. Keep the GitHub secret itself out of the YAML and out of the script file.

Secrets and certificates stored in Azure Key Vault

If the secret or client certificate lives in Azure Key Vault, the Azure Load Testing resource needs its own identity. Configure a system-assigned or user-assigned managed identity on the resource, then grant that identity access to the vault. The workflow’s Azure login does not give the test engine vault access on its own.

Rank #4
MakerHawk Battery Load Tester - 180W 200V 20A USB Load Tester 4-Wire System Adjustable Constant Current Voltage Discharge Lithium Battery Capacity Tester Electronic Load Tester
  • 2.4" Large Screen Battery Load Tester: Featuring a high-definition color screen, this electronic load tester provides clear and precise readings. It offers comprehensive parameter, settings and operations, including voltage, current, power, capacity, electricity, temperature, discharge resistance, time-limited discharge and stop voltage, etc., to ensure accurate and reliable results.
  • Multi-Device Compatibility & Safety Features: This battery capacity tester supports discharge aging tests for a wide range of devices, including chargers, cables, power banks, batteries, and power adapters. It has intelligent safety protection such as overload, overcurrent and high temperature protection, real-time monitoring of status makes it safe and reliable.
  • Four Discharge Modes & App Compatibility: The USB load tester supports constant current, constant power, constant resistance, and constant voltage modes. It is compatible with Android and iOS apps, as well as PC BT and wired connections, providing versatile testing options.
  • High Precision & Upgraded Four-Wire System: Utilizing a four-wire connection, this voltage tester ensures accurate voltage measurements unaffected by wire resistance and its measurement accuracy is comparable to that of large professional instruments. It is also compatible with two-wire connection.
  • Powerful Performance & Intelligent Cooling: This lithium battery tester has a high voltage of 200V, a high current of 20A, and a high power of 180W. Equipped with an intelligent temperature-controlled colored light fan, strong airflow and low noise, it can extend the service life and support continuous operation of long-term discharge or aging tests.

Authenticating to the target endpoint

To call an endpoint protected by Microsoft Entra authentication, assign a managed identity to the Azure Load Testing resource and select that identity in the test configuration. Your test script must then acquire an access token for the target endpoint and send it with requests. The identity also needs permission on the target resource itself; the load-testing role does not grant that.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Test file layout and JMeter or Locust inputs

The configuration YAML sets the test specification version to v0.1 and requires a testId of 2 to 50 characters, using lowercase letters, digits, underscores, or hyphens. The YAML reference also covers engine instance count, environment variables, client certificates, app components, private-network settings, regional configuration, and managed identities.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Item JMeter Locust
Test plan file .jmx file .py file
Supporting data CSV or properties files referenced by the plan CSV or other files the script loads
Request-specific failure criteria Name must match the JMeter sampler Name must match the Locust request
Secrets Passed through the secrets input and read by the plan Passed through the secrets input and read by the script

Keep the file paths in the YAML relative to the repository, and commit every file the plan opens. A plan that works on your laptop but reads a file outside the repository will fail on the runner.

Best Value
TOPDC 500A Carbon Pile Battery Load Tester, 12V, Up to 1000 CCA
  • 【Wide Compatibility & Powerful Testing】This heavy-duty 500 amp load tester is designed for a variety of 6V and 12V lead-acid batteries. It's an essential tool for cars, trucks, vans, motorcycles, RVs, and farm vehicles, capable of accurately testing batteries up to 1000 CCA and 160Ah to ensure optimal performance
  • 【User-Friendly & Clear Diagnostics】 Features large, color-coded meters for voltage and amperage, along with a temperature-compensated pass/fail chart. The intuitive dual-dial design allows for easy operation and instant, unambiguous assessment of your battery's health.
  • 【Precision Control & Reliable Results】Equipped with robust copper-plated clamps that bite through corrosion on battery terminals for a secure connection and accurate readings. The tester provides precise variable load control up to 500 amps, delivering professional-grade diagnostic results.
  • 【Safe & Durable Operation】 Built with a built-in timer alert that beeps after the 15-second test cycle, reminding you to allow for a 1-minute cool-down period. This safety feature, combined with a sturdy construction, ensures the tester's longevity and safe usage (recommended: 3 tests every 5 minutes).
  • 【Complete Professional Kit】This comprehensive automotive tester not only checks batteries but also your vehicle's alternator and regulator. Specifications include: 0-15V DC range, 0-500A load capacity, 15-second test duration, and 3-inch heavy-duty clamps. It's the all-in-one solution for your electrical system diagnostics.

Retaining results for review

Azure Load Testing writes results and an HTML report into the loadTest folder in the GitHub Actions workspace. The folder has two parts:

  • A results folder with a separate CSV file for each test engine, containing per-request details.
  • A report folder with an HTML summary and performance graphs.

The upload step in the example saves that folder as a workflow artifact named loadTest. Download it from the workflow run’s summary page in GitHub. Artifacts are kept according to your repository or organization retention settings, so check those if you need results for a longer audit period.

Troubleshooting common failures

  • The workflow cannot find the test. Confirm that loadTestConfigFile is relative to the repository root and that the YAML and plan are committed, not just present locally.
  • Azure login succeeds but the load test is rejected. Check that the role assignment is Load Test Contributor and that its scope is the Azure Load Testing resource named in loadTestResource.
  • OIDC sign-in fails. Check that the workflow has id-token: write and that the federated credential on the Entra app matches your repository and branch or environment.
  • A named-request criterion never fires. The request name in the YAML does not match the JMeter sampler or Locust request exactly.
  • The test cannot read a Key Vault secret. The Azure Load Testing resource’s managed identity has no access to the vault.
  • The results folder is missing from the artifact. The upload step ran before the test wrote its output, or the step does not reference loadTest as its path. Check the step order.

After changing failure criteria, run the workflow once with a threshold you know will be breached. Confirm the job fails before relying on the criterion as a gate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

“

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.