Our role as software testers has transformed as brands shifted to digital-first experiences for their users. Once siloed to a single step at the end of development cycles, testing is now a continuous process that accelerates development and improves the customer experience.
We’ve adapted to this new reality by embracing quality engineering, a practice that includes quality testing throughout the development lifecycle to deliver a positive user experience that will help companies satisfy, retain, and acquire new customers. But this shift has also changed what we need from testing tools, leading to the sunset of frameworks like Protractor and TestProject. As teams begin to migrate their testing strategies into new automated testing solutions, there are ways to streamline the process.
Beginning the cycle to migrate existing efforts between a sunsetting platform to a new solution can be a daunting task, often requiring a total overhaul of the existing automation suites and implementing an entirely new framework from scratch. As a Solutions Engineer with mabl, I frequently support new mabl users through this process. My goal is always to make teams as efficient as possible as they migrate their existing efforts, reducing the time-to-value and saving them valuable time and effort.
Fortunately for TestProject and Protractor users, mabl provides tools that enable quality engineering teams to import their Selenium-based test scripts directly into mabl, jumpstarting their work and easing the transition between test automation frameworks. This functionality can also be used to import test cases even when not written natively in Selenium, making it easier to import tests from frameworks like TestProject. Using the process below, we’ll export our TestProject test cases into mabl using a migration-friendly format like Selenium Java.
To get started, we’ll need:
Now that we have our tools ready, we can begin the actual migration process:
test {
useJUnitPlatform()
jvmArgs "-javaagent:/Path/toYour/mabl-selenium-agent.jar=apiKey=YOURAPIKEYHERE"
}
dependencies {
// Use JUnit Jupiter API for testing.
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
// Module "junit-jupiter-params" of JUnit 5.
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.6.0'
// Use JUnit Jupiter Engine for testing.
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
implementation compileOnly 'io.testproject:java-sdk:1.2.4-RELEASE'
}
Provided we have all dependencies resolved, we can now run our test script as a Gradle test. This will cause mabl’s Selenium agent to start intercepting WebDriver commands and translate them into mabl test steps while importing the test script.
Currently, the tool can import the following Selenium actions as mabl test steps:
After the initial import, you’ll need to update the newly created mabl tests for the following:
Now that we’ve successfully migrated our TestProject tests into mabl, we can continue expanding our software testing strategy with confidence. All mabl tests are supported by autohealing, a functionality that automatically repairs broken tests as our product changes. Our tests will work for a longer period of time with less maintenance, enabling our quality team to dedicate more time to testing more customer journeys and support the development of new features. We’ll also be able to monitor the effectiveness of our testing strategy across high-traffic web pages, track quality trends over time, and build a culture of quality by integrating mabl with our favorite development tools.
Get started with mabl today with our 14 day free trial.