Applies to ReadyAPI 3.4, last modified on October 21, 2020

To run a test in TestEngine, you need to send a request to TestEngine with a ReadyAPI project attached. This topic shows how to do it.

1. Prepare a ReadyAPI project

The request to TestEngine must contain a ReadyAPI project. The way you send it depends on the project:

  • If your project is a single .xml file (your project is not composite, and you do not use external files), you can send only the project file.

    How to find project file

  • If you use external files (external data sources, certificates, or attachments), or
    if your project is a composite one, you need to pack the project and all the required files into a zip package.

    How to get zip package

2. Send a request

To send a project to TestEngine and run a test, use the following operation:

POST  http://<testengine-host>:8080/api/v1/testjobs[?parameters]

Body

The ReadyAPI project file, or attached zip package.

Authentication

The request must be authenticated by a TestEngine user.

See details on SwaggerHub.

Examples

Use the following command line:

curl -u "user:password" --data-binary "@C:\Work\Test\sample-readyapi-project.xml" -H "Content-Type: application/xml" -X POST "http://localhost:8080/api/v1/testjobs"

In this example:

-u user:password

The user credentials used in the request.

--data-binary "@C:\Work\Test\sample-readyapi-project.xml"

The ReadyAPI project attached to the request.

-H "Content-Type: application/xml"

The Content-Type header, which tells TestEngine the type of the attachment.

-X POST

The request method (POST).

"http://localhost:8080/api/v1/testjobs"

The endpoint of the request.
  1. Create a project by using the TestEngine API definition. See Creating Project From OpenAPI/Swagger Definition to learn how to do it.

    Tip: You can also create the needed request from scratch.
  2. Open Projects and select the POST request to the /testjobs resource:

    Run ReadyAPI project in TestEngine: Select a request

    Click the image to enlarge it.

  3. Open the Attachment panel and click Add Attachment.

    Run ReadyAPI project in TestEngine: Adding attachment

    Click the image to enlarge it.

  4. Specify the project you want to send to TestEngine.

  5. Set the Content type of the attachment and Media Type of the payload to application/xml.

    Run ReadyAPI project in TestEngine: Set the Content-Type to application/xml

    Click the image to enlarge it.

  6. Open the Auth panel.

  7. Select the Basic (Built-in) authorization type.

    Tip: If you use the same credentials in several requests, use authorization profiles.
  8. Specify user credentials and select the Authenticate pre-emptively option:

    Run ReadyAPI project in TestEngine: Add authorization

    Click the image to enlarge it.

  9. Send the request:

    Run ReadyAPI project in TestEngine: Send request

    Click the image to enlarge it.

In TestEngine, you can give a job a high priority. TestEngine will run high-priority jobs before regular jobs.

Use the following command line:

curl -u "user:password" --data-binary "@C:\Work\Test\sample-readyapi-project.xml" -H "Content-Type: application/xml" -X POST "http://localhost:8080/api/v1/testjobs?priorityJob=true"

In this example:

-u user:password

The user credentials used in the request.

--data-binary "@C:\Work\Test\sample-readyapi-project.xml"

The ReadyAPI project attached to the request.

-H "Content-Type: application/xml"

The Content-Type header, which tells TestEngine the type of the attachment.

-X POST

The request method (POST).

"http://localhost:8080/api/v1/testjobs?priorityJob=true"

The endpoint of the request with query parameters.
The priorityJob parameter gives the job a high priority.
  1. Create a project by using the TestEngine API definition. See Creating Project From OpenAPI/Swagger Definition to learn how to do it.

    Tip: You can also create the needed request from scratch.
  2. Open Projects and select the POST request to the /testjobs resource:

    Run ReadyAPI project in TestEngine: Select a request

    Click the image to enlarge it.

  3. Open the Attachment panel and click Add Attachment.

    Run ReadyAPI project in TestEngine: Adding attachment

    Click the image to enlarge it.

  4. Specify the project you want to send to TestEngine.

  5. Set the Content type of the attachment and Media Type of the payload to application/xml.

    Run ReadyAPI project in TestEngine: Set the Content-Type to application/xml

    Click the image to enlarge it.

  6. Open the Auth panel.

  7. Select the Basic (Built-in) authorization type.

    Tip: If you use the same credentials in several requests, use authorization profiles.
  8. Specify the user credentials and select the Authenticate pre-emptively option:

    Run ReadyAPI project in TestEngine: Add authorization

    Click the image to enlarge it.

  9. Set the priorityJob parameter to true:

    Run ReadyAPI project in TestEngine: Set the priorityJob parameter

    Click the image to enlarge it.

  10. Send the request:

    Run ReadyAPI project in TestEngine: Send request

    Click the image to enlarge it.

Use the following command line:

curl -u "user:password" --data-binary "@C:\Work\Test\exported-project.zip" -H "Content-Type: application/zip" -X POST "http://localhost:8080/api/v1/testjobs"

In this example:

-u user:password

User credentials used in the request.

--data-binary "@C:\Work\Test\exported-project.zip"

A .zip package attached to the request. The package contains a ReadyAPI project and all the required files.

-H "Content-Type: application/zip"

The Content-Type header, which tells TestEngine the type of the attachment.

-X POST

The request method (POST).

"http://localhost:8080/api/v1/testjobs"

The endpoint of the request.
  1. Create a project by using the TestEngine API definition. See Creating Project From OpenAPI/Swagger Definition to learn how to do it.

    Tip: You can also create the needed request from scratch.
  2. Open Projects and select the POST request to the /testjobs resource:

    Run ReadyAPI project in TestEngine: Select a request

    Click the image to enlarge it.

  3. Specify a zip package that contains a project you want to send to TestEngine (an xml file or a folder with a composite project) and all the required files.

  4. Set the Content type of the attachment and Media Type of the payload to application/zip.

    Run ReadyAPI project in TestEngine: Set the Content-Type to application/zip

    Click the image to enlarge it.

  5. Open the Auth panel.

  6. Select the Basic (Built-in) authorization type.

    Tip: If you use the same credentials in several requests, use authorization profiles.
  7. Specify user credentials and select the Authenticate pre-emptively option:

    Run ReadyAPI project in TestEngine: Add authorization

    Click the image to enlarge it.

  8. Send the request:

    Run ReadyAPI project in TestEngine: Send request

    Click the image to enlarge it.

Use the following command line:

curl -u "user:password" --data-binary "@C:\Work\Test\sample-readyapi-project.xml" -H "Content-Type: application/xml" -X POST "http://localhost:8080/api/v1/testjobs?testCaseName=findByStatus"

In this example:

-u user:password

The user credentials used in the request.

--data-binary "@C:\Work\Test\sample-readyapi-project.xml"

The ReadyAPI project attached to the request.

-H "Content-Type: application/xml"

The Content-Type header, which tells TestEngine the type of the attachment.

-X POST

The request method (POST).

"http://localhost:8080/api/v1/testjobs?testCaseName=findByStatus"

The endpoint of the request with query parameters.
The testCaseName parameter specifies the name of a test case to run.
To run a test suite, use the testSuiteName parameter. For example: to run the Example suite, use the following query parameter:
"http://localhost:8080/api/v1/testjobs?testSuiteName=Example"
  1. Create a project by using the TestEngine API definition. See Creating Project From OpenAPI/Swagger Definition to learn how to do it.

    Tip: You can also create the needed request from scratch.
  2. Open Projects and select the POST request to the /testjobs resource:

    Run ReadyAPI project in TestEngine: Select a request

    Click the image to enlarge it.

  3. Open the Attachment panel and click Add Attachment.

    Run ReadyAPI project in TestEngine: Adding attachment

    Click the image to enlarge it.

  4. Specify the project you want to send to TestEngine.

  5. Set the Content type of the attachment and Media Type of the payload to application/xml.

    Run ReadyAPI project in TestEngine: Set the Content-Type to application/xml

    Click the image to enlarge it.

  6. Open the Auth panel.

  7. Select the Basic (Built-in) authorization type.

    Tip: If you use the same credentials in several requests, use authorization profiles.
  8. Specify the user credentials and select the Authenticate pre-emptively option:

    Run ReadyAPI project in TestEngine: Add authorization

    Click the image to enlarge it.

  9. Specify the name of the test case you want to run in the testCaseName parameter:

    Run ReadyAPI project in TestEngine: Set the testCaseName parameter

    Click the image to enlarge it.

  10. Send the request:

    Run ReadyAPI project in TestEngine: Send request

    Click the image to enlarge it.

Use the following command line:

curl -u "user:password" --data-binary "@C:\Work\Test\sample-readyapi-project.xml" -H "Content-Type: application/xml" -X POST "http://localhost:8080/api/v1/testjobs?securityTestName=Security%20Test%20Case"

In this example:

-u user:password

The user credentials used in the request.

--data-binary "@C:\Work\Test\sample-readyapi-project.xml"

The ReadyAPI project attached to the request.

-H "Content-Type: application/xml"

The Content-Type header, which tells TestEngine the type of the attachment.

-X POST

The request method (POST).

"http://localhost:8080/api/v1/testjobs?securityTestName=Security%20Test%20Name"

The endpoint of the request with query parameters.
The securityTestName parameter specifies the name of a security test to run.
You cannot use the testCaseName and testSuiteName parameters when you specify a security test to run.
  1. Create a project by using the TestEngine API definition. See Creating Project From OpenAPI/Swagger Definition to learn how to do it.

    Tip: You can also create the needed request from scratch.
  2. Open Projects and select the POST request to the /testjobs resource:

    Run ReadyAPI project in TestEngine: Select a request

    Click the image to enlarge it.

  3. Open the Attachment panel and click Add Attachment.

    Run ReadyAPI project in TestEngine: Adding attachment

    Click the image to enlarge it.

  4. Specify the project you want to send to TestEngine.

  5. Set the Content type of the attachment and Media Type of the payload to application/xml.

    Run ReadyAPI project in TestEngine: Set the Content-Type to application/xml

    Click the image to enlarge it.

  6. Open the Auth panel.

  7. Select the Basic (Built-in) authorization type.

    Tip: If you use the same credentials in several requests, use authorization profiles.
  8. Specify the user credentials and select the Authenticate pre-emptively option:

    Run ReadyAPI project in TestEngine: Add authorization

    Click the image to enlarge it.

  9. Specify the name of the security test you want to run in the testCaseName parameter:

    Run ReadyAPI project in TestEngine: Set the testCaseName parameter

    Click the image to enlarge it.

  10. Send the request:

    Run ReadyAPI project in TestEngine: Send request

    Click the image to enlarge it.

Parameters

The POST request to the /testjobs resource has a number of parameters that allow you to run a particular test case, test suite, run security tests, run tests with the needed tag, or use a specific environment, and so on.

See the full list of operation parameters in the TestEngine specification on SwaggerHub:

https://app.swaggerhub.com/apis/smartbear/readyapi-testengine/

See Also

Functional Testing

Highlight search results