This workflow uses parallel testing to test several URLs in a short amount of time
name: TestDriver.ai
permissions:
actions: read
contents: read
statuses: write
pull-requests: write
on:
push:
branches: ["main"]
pull_request:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
testdriver_matrix:
name: "TestDriver Matrix"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
test:
- name: "Functions testdriver"
file: "testdriver/functions.yml"
url: "https://example.com"
- name: "Chat testdriver"
file: "testdriver/chat_test.yml"
url: "https://www.exmaple.com/demos/chat/"
- name: "P2P dynamic payment testdriver"
file: "testdriver/p2p_dynamic_payment.yml"
url: "https://www.exmaple.com/demos/fintech/"
- name: "Dynamic matchmaking testdriver"
file: "testdriver/skill_based_matchmaking.yml"
url: "https://www.example.com/demos/skill-based-matchmaking-dashboard/"
- name: "Support search testdriver"
file: "testdriver/support_search.yml"
url: "https://support.example.com/hc/en-us"
- name: "Ask AI testdriver"
file: "testdriver/ask_ai.yml"
url: "https://www.example.com"
- name: "Edit settings testdriver"
file: "testdriver/edit_account_settings.yml"
url: "https://www.example.com"
- name: "Debug console testdriver"
file: "testdriver/debug_console.yml"
url: "https://www.example.com"
steps:
- uses: testdriverai/action@main
with:
key: ${{ secrets.TESTDRIVER_API_KEY }}
prompt: |
1. /run ${{ matrix.test.file }}
prerun: |
cd $env:TEMP
npm init -y
npm install dashcam-chrome
Start-Process "C:/Program Files/Google/Chrome/Application/chrome.exe" -ArgumentList "--start-maximized", "--load-extension=$(pwd)/node_modules/dashcam-chrome/build", "${{ matrix.test.url }}"
exit
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FORCE_COLOR: "3"