AWS Code Build

Running Playwright Tests in Parallel on AWS CodeBuild and Currents

Executing Playwright tests in parallel on AWS CodeBuild can significantly reduce the overall run duration. AWS CodeBuild supports Batched Buildarrow-up-right in matrix modearrow-up-right for launching several workers in parallel.

Use AWS CodeBulld Matrix mode to run Playwright tests in parallel with Currents. 1 batch job (1) triggering 3 parallel build jobs (2).

Prerequisites

To enable parallel runs, please make sure that you have privileged access to your AWS Account and that you can create/modify an AWS CodeBuild Project.

Configuration

Obtain Currents Credentials

Create an organization, and get Record Key and Project ID at https://app.currents.devarrow-up-right.

Create buildspec.yml

Create a buildspec.yml file in the root directory of your application's source code repository. This file defines the build and test steps for your application.

Set the Project ID for pwc command, for example:

circle-info

The example uses pwc CLI command to run the tests. You can use npx playwright test command and configure @currents/playwright as a reporter. Please refer to the documentationarrow-up-right.

The buildspec.yml file uses matrix modearrow-up-right to start 3 containers for running the test in parallel. Each container will have the environment variable WORKER set to 1,2,3 correspondingly, we use it to configure Playwright Shardingarrow-up-right --shard $WORKER/3

Configure CURRENTS_RECORD_KEY

Save the Record Key as CURRENTS_RECORD_KEY Environment variablearrow-up-right. It is strongly recommended to use your Record Key in a secure secrets storage. Please refer to the detailed guidearrow-up-right, here is an overview of the steps:

  • Create a new entry in AWS Secrets Manager with the Record Key. Please note that the generated secret is a JSON document, you should note the json_key of the actual record key value and use it later.

  • Get the secret ARN

  • Update the Build Project environment variables as follows:

    • Variable name: CURRENTS_RECORD_KEY

    • Variable value: the ARN of previously created secret + json_key, for example: <secret-arn>:<json-key>

  • Update the IAM execution role to allow reading of previously created secret

Configure AWS Project

Configure AWS-specific project settings like IAM execution policy, resources class and so on. Please refer to AWS CodeBuild documentationarrow-up-right for details to explore possible configuration settings.

Configure Source Batch Mode

  • Set the Project Setting > Edit Source

  • Configure the repository details, the events that should trigger new builds

  • Configure Primary source webhook events > Build Type to Batch build to start 3 parallel workers in matrix modearrow-up-right

Example: Triggering Parallel Playwright AWS CodeBuild

This example repositoryarrow-up-right showcases running Playwright tests on AWS CodeBuild in parallel while using Currentsarrow-up-right as the reporting dashboard. It has an example AWS CodeBuilld Project configurationarrow-up-right.

Example of triggering an AWS CodeBuild Playwright Tests via a commit

Last updated

Was this helpful?