Upload or retrieve scripts
Description
Uploads the following scripts to, or retrieves them from LoadRunner Enterprise or ALM (for VuGen and JMeter scripts):
Script Type | Supported in Version |
---|---|
DevWeb (standalone) | LoadRunner Enterprise 2020 SP3 or later |
Gatling | LoadRunner Enterprise 2020 SP3 or later |
UFT One GUI or API tests | LoadRunner Enterprise 2020 SP3 or later |
VuGen |
|
JMeter |
|
Kafka | LoadRunner Enterprise 2022 or later |
URL
/LoadTest/rest/domains/{domainName}/projects/{projectName}/Scripts
Remarks
None
HTTP Method
POST: Uploads a VuGen, JMeter, DevWeb, Gatling, or UFT One GUI or API test script to LoadRunner Enterprise 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 2020 (or later) | LWSSO_COOKIE_KEY={LwssoCookie}; |
Versions earlier than 2020 | LWSSO_COOKIE_KEY={LwssoCookie};QCSession={QCSessionCookie}; |
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:
Element | Description |
---|---|
Script | The top-level element. |
TestFolderPath | This is the path of the folder on LoadRunner Enterprise (or within Test Plan for ALM) where the script will be saved. |
Overwrite | Action if script with the same pathname already exists. One of:
|
RuntimeOnly | One of:
|
KeepCheckedOut (Not relevant in LoadRunner Enterprise 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:
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 |
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. |
GET: No request body
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
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).
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
GET http://<LRE_Server>/LoadTest/rest/domains/alex-qc/projects/demo_project/Scripts
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:
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). |
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
<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