Back to the blog

mabl and Bitbucket CI/CD: Our New Integration for Continuous Testing

Picture of Dan Belcher
byDan Belcher

Today, we're proud to begin our journey with Atlassian by introducing mabl's new integration with Bitbucket Pipelines. mabl now has its own Bitbucket Pipe that allows mabl and Atlassian users to quickly stand up continuous, functional end-to-end testing in a CI/CD pipeline.

The advantages of this new integration are rooted in a simple reality: in order to achieve the benefits of continuous delivery, you need fast, effective automated testing integrated throughout your pipeline. If your team is deploying daily or multiple times a day and your current testing practices take hours to run or require constant maintenance, your testing won’t be able to keep up with the deployments. However, once CI/CD and automated testing are tightly integrated, it enables a scalable rapid release cycle without sacrificing application quality.  

With this integration, Atlassian and mabl users can easily shift testing further to the left and reap all the benefits of adopting DevOps. With Bitbucket Pipelines, you can ship quickly while mabl tests builds for functional, visual, and performance regressions on every deployment. This enables continuous testing and reduces the time developers spend on tedious server configuration, context switching, and bug fixing - multiplying the productivity of your team.

 

Intelligent CI/CD Pipelines

Intelligent CI/CD workflows can automatically make informed decisions (such as promoting or demoting a build) based on individual test output - decisions that once could only be done manually. The test result data is incorporated directly  back into the workflow, enabling faster, more efficient pipeline management. By incorporating mabl test results back into the Bitbucket pipeline, teams can detect regressions in every deployment, speed up MTTR (mean time to repair), and reduce the costs of technical debt. For example, you could use mabl’s Pipe in concert with the OpsGenie Pipe to trigger alerts when deployments to production result in failed mabl tests.


Easy setup and configuration

The mabl Pipelines integration has the ease of a native plugin, but with an innate ability to customize more complex workflows. You can store and manage your build configurations in a single bitbucket-pipelines.yml file and get started with only 7 lines of code, then with only 4 more to create a mabl pipe. There are no CI servers to set up, testing scripts, or grids to manage. Just enable Pipelines and plug in a mabl Pipe to run mabl cross-browser test suites.


Keep your work in sync

With the new mabl Pipe, you can keep your build statuses in sync with your test executions and results. You can use the mabl CLI to query your workspaces, applications, environments, and tests; run smoke and regression tests on deployment; and see deployment test results - all in the same workflow.

 

Using a mabl Pipe with Bitbucket Pipelines

At the highest level, the workflow starts when you deploy code changes to an environment using Bitbucket Pipelines. With a mabl Pipe action configured, end-to-end tests set up in your mabl workspace will be triggered and run in parallel in the mabl test cloud. If mabl discovers problems during the test runs, it will send the test results back to Bitbucket Pipelines where you can choose to stop the pipeline or promote the build.

bitbucket-diagram2

Setting up a mabl Pipe

Set up a repo that uses a Bitbucket Pipeline. In our example pipeline, our .yml configuration file contains one step (the only step) that uses a mabl Pipe. You’ll need to retrieve the mabl Application ID and API key from your mabl workspace.

Setting up a Bitbucket Pipeline using .yml configuration file.Bitbucket Pipeline .yml file

This is the pipeline output. You can see our pipe output at the bottom right with test results from our “Brookline Bikes” test plan containing 3 successful tests running on Chrome and a direct link to the mabl test execution logs where you can view step-by-step screenshots, visual changes, JavaScript errors and more.

Bitbucket Pipeline test output

Bitbuclet Pipeline test output table

Example test output in mabl (pictured below) contains the test suite run history.

Bitbuclet Pipeline test output table with test suite run history

Going into the test run history for an individual test run gives you step-by-step output including screenshots, DOM snapshots, test runtime, network activity, as well as visual changes and JavaScript errors, if any.

Test run history with screenshots, DOM snapshots, test runtime, network activity, as well as visual changes and JavaScript errors

With integrated end-to-end testing in your CI/CD pipeline, finding and fixing issues that can degrade UX continuously is a breeze. Try setting up your own mabl Pipes with Bitbucket Pipelines now: https://bitbucket.org/mablhq/mabl-deployment/src/master/


Look for more exciting updates from mabl and Bitbucket at Atlassian Summit in March 2020. Register here if you haven’t yet.

 

Back to the blog