End-to-End Automation with SmartBear Reflect and AWS CodePipeline
Software teams know the drill: deliver faster without sacrificing quality. You’ve heard it before because you live it every day. Testing is often where that pressure hits a breaking point, but it doesn’t have to.
At SmartBear, we help developers and testers like you seamlessly integrate automated testing into existing workflows and CI/CD pipelines. That’s why we’ve partnered with AWS CodePipeline to bring powerful, AI-driven test automation to your delivery process. Reflect, SmartBear’s no-code test automation tool, now integrates directly with AWS’ robust CI/CD platform—enabling teams to accelerate releases with confidence and ease.
By integrating Reflect with AWS CodePipeline, teams can automate end-to-end testing directly within their CI/CD pipelines—transforming fragmented workflows into reliable, repeatable processes. This integration reduces manual effort, improves test coverage, and ensures every code change is validated with fast, intuitive, no-code testing.
Create End-to-End Tests with Reflect
Reflect empowers testers of any skill level to create automated web and mobile tests with ease. With intuitive record-and-replay functionality and AI that turns plain English into executable tests, teams can build robust coverage quickly—no coding required. Learn more in our quick start guide.
Once your tests are created, you can organize them into test suites, which act as complete regression plans—including test cases, environments, and failure notifications. Suites can be run manually, on a schedule, or—most powerfully—automated through a CI/CD engine like AWS CodePipeline.
How to Integrate AWS CodePipeline and SmartBear Reflect
To set this up, you’ll need an AWS account and a Reflect trial or account.
First, utilize AWS Secrets Manager. Secrets Manager is a service that stores and retrieves secure secrets, like API keys, credentials, or any other sensitive values. To use the Reflect API in AWS, import the Reflect API key into Secrets Manager:
- Navigate to the AWS Secrets Manager service.
- Select “Store a new secret”.
- Select “Other type of secrets” as the secret type.
- Retrieve the Reflect API key from Reflect in Settings > Account Information > API Key. Then copy and paste the API key into the value field in Secrets Manager.
- Follow the remaining steps to complete the secret creation process. Note down the Amazon Resource Name (ARN) for your secret, which will look something like this: arn:aws:secretsmanager:us-east-1:123456789012:secret:yourSecretName-1acdrf.
AWS Secrets Manager stores secrets in key-value pairs, with the key representing the name of the secret. For the example shown in the screenshot, use “API_KEY” as the key name.
Create a Reflect Suite and Capture the Suite ID
Next, create a suite in Reflect to house your tests. Once the suite is created, note the suite ID displayed in the upper right—this will be required when configuring your pipeline.
For example, in the screenshot below, the suite ID is regression-test-plan.
Configure AWS CodePipeline
Now, it’s time to build the release pipeline. AWS CodePipeline is a service that automates the end-to-end software release process, enabling faster and more reliable delivery of applications and updates.
Getting started with Reflect in AWS CodePipeline is easy, just use the continuous integration template. Take these steps:
- Navigate to the AWS CodePipeline service.
- Select “Create pipeline from template” as the creation option.
- Select “Continuous Integration” as the category and select “Run Reflect Test” as the template.
- In “Choose source,” select the location of the source code, such as GitHub. If this is your first time using CodePipeline, you must create a new connection by selecting the “Connect to GitHub” button. You must specify a repository and branch. It can be an empty repository.
In the “Configure template” step, provide the required values for the following parameters:
- ReflectAPIKeySecretArn: This is the ARN of the secret created in the prerequisite step (ex: arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-1acdrf).
- ReflectAPIKeySecretJsonKeyName: This is the key name you chose when storing the Reflect API key in AWS Secrets Manager (e.g., “API_KEY”).
- ReflectSuiteId: This is the ID of the Reflect test suite you want to run.
- ReflectWaitForTestResults: This determines whether the pipeline should wait for the Reflect test suite to complete and set the CodePipeline action status based on the test results. The default is “true“.
There are also advanced parameters you can pass to the Reflect Test Suite from AWS CodePipeline during run time. If you wish to add these parameters by default, the template makes it easier to use. But they’re optional.
- ReflectParamOverride: An optional JSON blob containing overrides for this suite execution.
- ReflectParamVariables: An optional JSON blob containing modified variable values for this suite execution.
- ReflectParamGitHub: An optional JSON blob specifying the GitHub repository name, its owner, and commit SHA to post the status. (Note: when ReflectParamGitHub is not specified, CodePipeline will retrieve these fields from the GitHub source action during the pipeline execution and pass them to Reflect).
For examples of the optional parameters, review the Reflect documentation.
- Review your pipeline configuration and select “Create pipeline from template” to deploy. Once created, the pipeline will automatically trigger the Reflect test suite and continue to do so with every code change.
Execution and Results
Once the pipeline is triggered, it runs in two phases: first, it retrieves the source code from the repository; then, it triggers the test suite in Reflect. You can monitor progress and view results directly in the CodePipeline console.
When the second stage of the pipeline finishes, select “View Details.”
The Action execution details output will link to the Reflect Test Suite that was triggered from CodePipeline and any test runs within.
The test run from Reflect will contain all the essential information associated to the test run. This run includes a video of the execution, console and network logs, and more.
Ready to try it out?
Integrating AWS CodePipeline with Reflect brings automation to the heart of your web and mobile workflows—accelerating delivery while ensuring quality. By combining CodePipeline’s powerful continuous delivery with Reflect’s intuitive test automation, teams can streamline development, reduce manual effort, and confidently maintain high-quality applications at every stage.