Skip to content

getting started

getting started #5

name: JMeter Load Test (push trigger)
on:
push
jobs:
load-test-with-jmeter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install postman to jmeter converter
# run: |
# npm install -s postman-jmeter
run: npm install
- name: install jmeter
run: |
java -version
wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip
unzip apache-jmeter-5.6.3.zip
cd apache-jmeter-5.6.3/bin
./jmeter -v
pwd
- name: Print env
env:
MESSAGE: ./examples/catfact-coll.json
run: |
echo $MESSAGE
- name: Convert postman collection with environment
run: |
mkdir ./assets/${{ github.run_id}}
node ./bin/convert-postman-jmeter -p ./examples/catfact-coll.json -j ./assets/${{ github.run_id }}/${{ github.run_id }}.jmx -o -v=$resolve -e ./examples/catfact-env.json
- name: Run Stress Tests
run: |
cd ./apache-jmeter-5.6.3/bin
./jmeter -n -t ${{ github.workspace }}/assets/${{ github.run_id }}/${{ github.run_id }}.jmx -l ${{ github.workspace }}/results.csv -e -o ${{ github.workspace }}/output
- name: Generate screenshot of JMeter results
run: |
npm install --global capture-website-cli
capture-website output/index.html --output=./assets/${{ github.run_id }}/screenshot_${{ github.run_id }}.png --width 1280 --height 800
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: jmeter-load-test-image
path: ./assets/${{ github.run_id }}/
- name: Add image to repo
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git status
# mkdir -p assets/images/
# mv screenshot_${{ github.run_id }}.png assets/images/
git add assets/${{ github.run_id }}/*
git commit -m "added JMeter jmx file and results screenshot to assets"
git push
git status
echo "https://github.com/${{github.repository}}/blob/main/assets/images/screenshot_${{ env.GITHUB_RUN_ID }}.png?raw=true"
- name: Send results to postman
run: |
node ./bin/respond -w 774fda03-bf0a-4c99-b915-b7ecf1856162 -u https://github.com/postman-solutions-eng/postman-jmeter/blob/main/assets/${{ github.run_id }}/screenshot_${{ github.run_id }}.png -r $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID -k ${{ secrets.POSTMAN_API_KEY }} -n $GITHUB_RUN_ID -c ./examples/catfact-coll.json -b $GITHUB_WORKFLOW