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:
#!/bin/bash
./testrunner.sh -sUnitTesting -f Project1-readyapi-project.xml
./testrunner.sh -sUnitTesting2 -f Project1-readyapi-project.xml
./testrunner.sh -sotherTests -f Project2-readyapi-project.xml
./testrunner.sh -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/testrunner.sh","-sServiceAPIs","-j","-f",..].execute()
def project2 = ["$READYAPI_HOME/testrunner.sh","-sServiceAPIs","-j","-f",..].execute()
def project2 = ["$READYAPI_HOME/testrunner.sh","-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.