All Projects → grafana → k6-action

grafana / k6-action

Licence: MIT license
k6 is now available as a GitHub Action

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to k6-action

postman-to-k6
Converts Postman collections to k6 script code
Stars: ✭ 269 (+320.31%)
Mutual labels:  load-testing, performance-testing, k6
k6-template-typescript
Template to use TypeScript with k6
Stars: ✭ 90 (+40.63%)
Mutual labels:  load-testing, performance-testing, k6
jmeter-to-k6
Converts JMeter .jmx files to k6 JS code
Stars: ✭ 57 (-10.94%)
Mutual labels:  load-testing, performance-testing, k6
k6-template-es6
Template repository for bundling test projects into single test scripts runnable by k6
Stars: ✭ 39 (-39.06%)
Mutual labels:  load-testing, performance-testing, k6
k6-example-github-actions
No description or website provided.
Stars: ✭ 18 (-71.87%)
Mutual labels:  actions, load-testing, performance-testing
Performance-Testing-Tools
🛠 Curated list of Performance Testing Tools ⚡ All contributions are welcome 💜
Stars: ✭ 17 (-73.44%)
Mutual labels:  load-testing, performance-testing
Pewpew
Flexible HTTP command line stress tester for websites and web services
Stars: ✭ 269 (+320.31%)
Mutual labels:  load-testing, performance-testing
Locust
Scalable user load testing tool written in Python
Stars: ✭ 17,763 (+27654.69%)
Mutual labels:  load-testing, performance-testing
Awesome Jmeter
A collection of resources covering different aspects of JMeter usage.
Stars: ✭ 413 (+545.31%)
Mutual labels:  load-testing, performance-testing
XLT
XLT is an comprehensive load and performance test tool developed and maintained by Xceptance.
Stars: ✭ 39 (-39.06%)
Mutual labels:  load-testing, performance-testing
Nbomber
Modern and flexible load testing framework for Pull and Push scenarios, designed to test any system regardless a protocol (HTTP/WebSockets/AMQP etc) or a semantic model (Pull/Push).
Stars: ✭ 354 (+453.13%)
Mutual labels:  load-testing, performance-testing
Awesome Test Automation
A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by http://sdclabs.com
Stars: ✭ 4,712 (+7262.5%)
Mutual labels:  load-testing, performance-testing
ddosify
High-performance load testing tool, written in Golang.
Stars: ✭ 3,788 (+5818.75%)
Mutual labels:  load-testing, performance-testing
Performance Testing Framework
Framework allows to perform load testing with Apache Jmeter, view application/server metrics in real-time with Grafana, analyze errors cause with detailed traces for failed requests, compare different test runs in scripted dashboard and perform frontend performance testing with sitespeed.io+webpagetest
Stars: ✭ 275 (+329.69%)
Mutual labels:  load-testing, performance-testing
Shadowreader
Serverless load testing for replaying website traffic. Powered by AWS Lambda.
Stars: ✭ 138 (+115.63%)
Mutual labels:  load-testing, performance-testing
Jmeter Maven Plugin
The JMeter Maven Plugin
Stars: ✭ 362 (+465.63%)
Mutual labels:  load-testing, performance-testing
Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (+104.69%)
Mutual labels:  load-testing, performance-testing
Hargo
Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.
Stars: ✭ 164 (+156.25%)
Mutual labels:  load-testing, performance-testing
bounded-disturbances
A k6/.NET red/green load testing workshop
Stars: ✭ 39 (-39.06%)
Mutual labels:  load-testing, k6
awesome-gatling
A collection of resources covering different aspects of Gatling load-testing tool usage.
Stars: ✭ 36 (-43.75%)
Mutual labels:  load-testing, performance-testing


Open source load testing tool and SaaS for ambitious engineering teams.

Getting started

It's as easy as:

Local test

name: Main Workflow
on: [push]
jobs:
  build:
    name: Run k6 test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Run k6 local test
        uses: grafana/[email protected]
        with:
          filename: my-load-test.js
          flags: --vus 50 --duration 10s

Cloud test

name: Main Workflow
on: [push]
jobs:
  build:
    name: Run k6 test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Run k6 cloud test
        uses: grafana/[email protected]
        with:
          filename: my-load-test.js
          flags: --vus 50 --duration 10s
          cloud: true
          token: ${{ secrets.K6_CLOUD_API_TOKEN }}

Inputs

Filename

steps:
  - name: Run k6 local test
    uses: grafana/[email protected]
    with:
      filename: my-script-file.js

Sets the filename of the test script to execute. This property is relative to the workspace directory. If omitted, it defaults to test.js.

Cloud

environment: test

steps:
  - name: Run k6 cloud test
    uses: grafana/[email protected]
    with:
      cloud: true
      token: ${{ secrets.K6_CLOUD_API_TOKEN }}

Enables execution in the k6 cloud. Additional details on the k6 cloud offering are available at https://k6.io/docs/cloud/. You'll need to specify the name of the environment where K6_CLOUD_API_TOKEN secret has been defined.

Flags

steps:
  - name: Run k6 local test
    uses: grafana/[email protected]
    with:
      flags: --vus 50 --duration 10s

Any additional arguments or flags to pass to the k6 cli. The full list of possible options is available at https://k6.io/docs/using-k6/options.

For additional information, and help getting started, see https://k6.io

Environment Variables

Environment variables can be added the same way as you do it locally, using the flags action option:

steps:
  - name: Run k6 local test
    uses: grafana/[email protected]
    with:
      filename: my-script-file.js
      flags: --env MY_VAR=42

Or can be scoped to the action step:

steps:
  - name: Run k6 local test
    uses: grafana/[email protected]
    with:
      filename: my-script-file.js
    env:
      MY_VAR: 42

Side-by-side with the System under Test

Unfortunately, running the local system under test and k6 at the same time is currently not supported by the marketplace action. However, this is easily accomplished by downloading the k6 binary and running it from the same step as the server start:

name: Main Workflow
on: [push]
jobs:
  build:
    name: Run k6 test
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Install k6
        run: |
          curl https://github.com/loadimpact/k6/releases/download/v0.26.2/k6-v0.26.2-linux64.tar.gz -L | tar xvz --strip-components 1
      - name: Install packages
        run: |
          npm install
      - name: Start server and run tests
        run: |
          npm start & npx wait-on http://localhost:3000
          ./k6 run test.js

Thanks to Amy Hoad for contributing on the solution for this.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].