Upload or retrieve scripts
Description
Uploads the following scripts to, or retrieves them from OpenText Enterprise Performance Engineering or ALM (for VuGen and JMeter scripts).
Script type | Supported in version |
---|---|
DevWeb (standalone) | 2020 SP3 or later |
Gatling | 2020 SP3 or later |
OpenText Functional Testing (GUI or API tests) | 2020 SP3 or later |
VuGen | 2020 or later Note: ALM is supported in versions 12.6x or earlier |
JMeter | 2020 or later Note: ALM is supported in versions 12.6x or earlier |
Kafka | 2022 or later |
URL
/LoadTest/rest/domains/{domainName}/projects/{projectName}/Scripts
Remarks
None
HTTP method
POST: Uploads a VuGen, JMeter, DevWeb, Gatling, or OpenText Functional Testing GUI or API test script to OpenText Enterprise Performance Engineering or to ALM (for VuGen or JMeter scripts).
GET: Returns the script in the body of the response.
Request
Headers:
Content-Type: multipart/form-data
Cookies:
Version | Cookie |
---|---|
2020 or later | LWSSO_COOKIE_KEY={LwssoCookie}; |
Earlier than 2020 | LWSSO_COOKIE_KEY={LwssoCookie};QCSession={QCSessionCookie}; |
Request body:
GET: No request body
POST: Multipart data with two entities: a zipped script and an XML or JSON describing the uploaded script.
In the Body section of the API tool, add the XML or JSON as Text.
Add XML or JSON to the file (see the POST example below and the field descriptions in the table).
Add the zipped script to the body as a File.
After uploading the script, you should receive the response.
The fields in the POST request are listed below.
Element Description Script The top-level element. TestFolderPath This is the path of the folder on OpenText Enterprise Performance Engineering (or within Test Plan for ALM) where the script will be saved.
Overwrite Action if script with the same pathname already exists. One of: - true: Overwrite existing script. (default)
- false: Automatically rename new script.
RuntimeOnly One of: - true: Upload only runtime files. (default)
- false: Upload all files.
KeepCheckedOut
(Not relevant in version 2020 or later)
Applies if project supports versioning to indicate whether the script needs to be checked in/out after an upload. Use one of:
- true: Uploaded script will remain checked-out.
- false: Uploaded script is checked in. (default).
Note: If the project does not support version control, this element is meaningless and you can leave the default value ("false") or not use the
KeepCheckedOut
element at all. Do not send an empty element.IsAutosplitJMX (For JMeter scripts only) Select "true" to split a .jmx file that contains a number of JMeter groups into a separate .jmx file for each group.
Request examples:
GET http://<LRE_Server>/LoadTest/rest/domains/alex-qc/projects/demo_project/Scripts
POST http://<LRE_Server>/LoadTest/rest/domains/alex-qc/projects/demo_project/Scripts
Content-Type: multipart/form-data; boundary="d8a33232-f54d-4fa6-a888-0b6b34810dfc"
Content-Length: <content length>
Expect: 100-continue
--d8a33232-f54d-4fa6-a888-0b6b34810dfc
Content-Disposition: form-data; name=metadata
<Script xmlns="http://www.hp.com/PC/REST/API">
<TestFolderPath>path to upload the script to LRE/ALM</TestFolderPath>
<Overwrite>true</Overwrite>
<RuntimeOnly>false</RuntimeOnly>
<KeepCheckedOut>false</KeepCheckedOut>
</Script>
--d8a33232-f54d-4fa6-a888-0b6b34810dfc
Content-Disposition: form-data; filename=ScriptWithVuserLog.zip
Content-Type: application/x-zip-compressed
<Content of the compressed script>
--d8a33232-f54d-4fa6-a888-0b6b34810dfc--
POST http://<LRE_Server>/LoadTest/rest/domains/alex-qc/projects/demo_project/Scripts
Content-Type: multipart/form-data; boundary="d8a33232-f54d-4fa6-a888-0b6b34810dfc"
Content-Length: <content length>
Expect: 100-continue
--d8a33232-f54d-4fa6-a888-0b6b34810dfc
Content-Disposition: form-data; name=metadata
{
"TestFolderPath": "Subject\\e2e",
"Overwrite": true,
"RuntimeOnly": false,
"KeepCheckedOut": false
}
--d8a33232-f54d-4fa6-a888-0b6b34810dfc
Content-Disposition: form-data; filename=ScriptWithVuserLog.zip
Content-Type: application/x-zip-compressed
<Content of the compressed script>
--d8a33232-f54d-4fa6-a888-0b6b34810dfc--
Note: The value of the element boundary which marks the start and the end of the elements in HTTP multipart/form-data request is a value that can be changed based on the library being used (d8a33232-f54d-4fa6-a888-0b6b34810dfc
is an example of a boundary value).
Response
Headers:
One of:
Accept: application/xml
Accept: application/json
Cookies:
None
HTML return code:
One of the HTTP return codes
HTML body:
GET: Returns the data on the entity in the response. The fields in the response are listed below.
Element | Description |
---|---|
Name | The script name. |
CreatedBy | A user name. |
TestFolderPath | Path of the test folder. |
Content | Test description. See Test entity XML |
ID | The script ID. |
WorkingMode | What files were uploaded: Runtime only files or All files |
Protocol | The script protocol as defined in VuGen, JMeter, DevWeb, Gatling, or UFT One GUI or API tests. |
LastModifyDate | Date on which the script was last modified. |
CreationDate | The script creation date. |
IsScriptLocked | Indicates whether script is locked (being edited by another user). |
Response examples:
<Script xmlns="http://www.hp.com/PC/REST/API">
<ID>8</ID>
<Name>login_logout_page</Name>
<CreatedBy>john</CreatedBy>
<TestFolderPath>Subject\testFolder01</TestFolderPath>
<WorkingMode>Runtime</WorkingMode>
<Protocol>Web - HTTP/HTML</Protocol>
<LastModifyDate>2023-07-14T09:05:21.835448</LastModifyDate>
<CreationDate>2023-07-14T09:05:21.159522</CreationDate>
<IsScriptLocked>false</IsScriptLocked>
</Script>
{ "ID": 231,
"Name": "Generate_Transactions",
"CreatedBy": "sa",
"TestFolderPath": "Subject\\e2e",
"WorkingMode": "Runtime",
"Protocol": "Web - HTTP/HTML",
"LastModifyDate": null,
"CreationDate": null,
"IsScriptLocked": false,
"SplitScriptResponse": null
}
Note: The value of the element boundary which marks the start and the end of the elements in HTTP multipart/form-data request is a value that can be changed based on the library being used (d8a33232-f54d-4fa6-a888-0b6b34810dfc
is an example of a boundary value).
See also: