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.
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.57.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 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.
Licensing
Fixed and floating licenses work on physical hardware. Floating licenses are required for headless use with virtual machines and for using with Docker containers. Each parallel run require its own license. You can also execute tests using TestEngine.
See Also
Test Cases
Projects
Automating Functional Tests
Groovy Script Test Step