New products
Test automation in a new product
Choose the unit and test-automation frameworks for a new product; Yavaren sets them up with the application and its pipeline.
When you start a new product, the Stacks step also asks how it is tested. The unit tests come with the application, in your stack's own framework, for example pytest for Python, Vitest for React and JUnit for Java. You can add one test-automation framework of each kind:
- UI: Playwright, Cypress, Selenium or WebdriverIO;
- API: REST Assured, Karate, pytest, Supertest or Postman collections (Newman);
- mobile: Appium, Maestro or Espresso;
- performance: k6, JMeter or Gatling;
- BDD: Cucumber, Reqnroll or behave.
A choice that does not fit your stacks is refused, with the reason next to it. One example is a browser framework for a product that has only an API.
What you get
Each chosen framework gets a ready test suite in the set-up pull request, in automation/ui, automation/api and so on:
- its configuration;
- one sample test;
- page objects or fixtures to build on;
- a README with the commands.
Every story after that adds tests to these suites for its acceptance criteria.
You choose where the suites live:
- In the application's repository: a folder next to the code.
- Ready for a repository of their own: the same folder, with its own README and runner, and the command to move it into a separate repository with its history. Yavaren creates only the application's repository.
In your pipeline
Your pipeline gets one job per suite on GitHub Actions, Azure Pipelines, GitLab CI/CD and Bitbucket Pipelines. Each job runs its suite headless and keeps its test reports.
The suites need somewhere to run against. Set the pipeline variable AUTOMATION_BASE_URL to a test environment (never production). Until you do, the suites are only compiled or listed, and the job's summary says plainly that the tests were not run. Mobile suites run where you set AUTOMATION_DEVICE to true on a runner with an emulator or device.
No password or key is ever written into the suites. Read test credentials from your pipeline's own secrets.