Applies to ReadyAPI 3.7, last modified on April 08, 2021

From ReadyAPI, you can run only one project at a time, so, usually, you select each project in turn and run it manually. To run several projects, you need to call testrunners from scripts or command line. This topic describes how to do this.

Note: When running projects in parallel, it is preferable to use a fixed license. If you use floating licenses, you will need one license for each test runner, as one license will be checked out for each runner.

Running Projects in Sequence

To run several projects in sequence automatically, you can use the command line with the appropriate test runners:

  • Linux script:


    ./ -sUnitTesting -f Project1-readyapi-project.xml
    ./ -sUnitTesting2 -f Project1-readyapi-project.xml
    ./ -sotherTests -f Project2-readyapi-project.xml
    ./ -sotherTests2 -f Project2-readyapi-project.xml
  • Windows script:

    @echo off
    set READYAPI_HOME=C:\Program Files\SmartBear\ReadyAPI-3.7.0
    call %READYAPI_HOME%\bin\testrunner.bat -sUnitTesting -f Project1-readyapi-project.xml
    call %READYAPI_HOME%\bin\testrunner.bat -sUnitTesting2 -f Project1-readyapi-project.xml
    call %READYAPI_HOME%\bin\testrunner.bat -sotherTests -f Project2-readyapi-project.xml
    call %READYAPI_HOME%\bin\testrunner.bat -sotherTests2 -f Project2-readyapi-project.xml

Running Projects in Parallel

To run several projects in parallel, you need to use a project with the Groovy test step which contains a script that runs other projects.

def project1 = ["$READYAPI_HOME/","-sServiceAPIs","-j","-f",..].execute()
def project2 = ["$READYAPI_HOME/","-sServiceAPIs","-j","-f",..].execute()
Note: You need to replace .sh with .bat if you use Windows.

Since the execute() command does not wait for the execution to finish, it is suitable to start multiple processes. To learn more about external process management in Groovy, see its documentation.

See Also

Test Cases
Test Runner
Groovy Script Test Step

Highlight search results