Workflow overview
- Export User Stories: Extract user stories from TestRail, CSV, or Jira.
- Convert to Test Files: Use a Node.js script to generate individual YAML test files for each user story.
- Run Tests: Use a CI/CD workflow to execute the tests in parallel with the TestDriver CLI.
Step 1: Export user stories
Export user stories from your source (TestRail, CSV, or Jira) and save them in a structured format (for example, JSON or CSV). For example:Example CSV file (user_stories.csv
):
User Story ID | User Story Title | Description |
---|---|---|
1 | Log in to the application | User logs in with valid credentials. |
2 | Search for a product | User searches for a product by name. |
3 | Add product to cart | User adds a product to the cart. |
Step 2: Node.js script to convert user stories into test files
Create a Node.js script to read the exported data and generate individual YAML test files for each user story.Install required dependencies
Node.js script (generate-tests.js
)
Run the script
test_1.yaml
, test_2.yaml
) in the testdriver/
directory.
Step 3: CI/CD workflow to run tests in parallel
Create a CI/CD workflow to execute the generated test files in parallel using the TestDriver CLI. Below is a generalized example for any CI/CD system (adapt for your platform):.github/workflows/testdriver.yaml
Step 4: Secure API key
Store your TestDriver API key as a GitHub secret (for example,TD_API_KEY
) to securely authenticate your tests.
Step 5: Commit and push
- Commit the
generate-tests.js
script,user_stories.csv
, and.github/workflows/run-tests.yaml
to your repository. - Push the changes to the
main
branch.
Step 6: Run the workflow
The GitHub Actions workflow will automatically:- Gather all test files in the
testdriver/
directory. - Execute each test file in parallel using the matrix strategy.
Example output
-
Generated Test Files:
testdriver/test_1.yaml
testdriver/test_2.yaml
testdriver/test_3.yaml
-
GitHub Actions Dashboard:
- Each test file is executed as a separate job, and the results are displayed in the Actions tab.