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.

Executing Your Software Testing Strategy with mabl 

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. 

Importing TestProject tests into mabl initial requirements

To get started, we’ll need: 

  • Mabl’s Java Selenium Agent, which is available to download from our support documentation
  • A Selenium Java Agent API key generated from your mabl workspace
  • The TestProject test case exported to Java code, using this process
  • The TestProject agent installed on your machine and registered with your TestProject account
  • An IDE (such as Eclipse) to which we can import the TestProject as a Gradle project 
  • TestProject’s open SDK installed to allow exported projects to execute locally 

Steps to import a TestProject automated test into mabl

Now that we have our tools ready, we can begin the actual migration process: 

  • Generating our Selenium agent API key: We’ll first generate an API key from mabl via the Selenium Java Agent, which we’ll use to generate the following VM argument to add to our build.gradle file.
  • Test Project Script Modification: We’ll need to modify this section of our build.gradle file to include a new jvm argument which will contain the path to our Selenium agent and your API key. 

test {

    useJUnitPlatform()

    jvmArgs "-javaagent:/Path/toYour/mabl-selenium-agent.jar=apiKey=YOURAPIKEYHERE"

}

  • In that same build.gradle file we’ll need to add another dependency for the TestProject SDK, which can be added in the following section of that file.

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'

}

  • Importing our TestProject script into our IDE: We can now choose to import an existing Gradle project in our IDE. In this case, we’ll select the exported test script from TestProject. Once we have our script imported into our IDE with our modified build.gradle file, we’ll check that we have our TestProject agent running to allow for local execution. 

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.

  • Once the Gradle test has completed execution successfully with the mabl Selenium agent running, we should be able to observe our newly imported test script in our mabl workspace.

Considerations when importing automated tests into mabl

Currently, the tool can import the following Selenium actions as mabl test steps:

  • Setting the viewport size
  • Navigation to URLs
  • Clicking elements on the page
  • Entering text into fields
  • Sending keypress events

After the initial import, you’ll need to update the newly created mabl tests for the following:

  • Assertions for various validations
  • Using variables
  • File download and upload actions
  • Drag and drop actions
  • Conditional and loop logic
  • Hover actions
  • Cookies

Start Running Your Automated Tests with Autohealing and Advanced Reporting

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