我们有一个以formData键值对作为请求的WebService,而不是json。使用openTest,我们如何传递这些formData?基本上,我们需要一个代码片段来发布使用OpenTest yaml脚本的formData。
下面是示例curl命令,我们需要使用OpenTest进行post,它的Content-Type为multipart/form-data
`
curl --location --request POST 'https://serviceurl.com/getacb' \
--form 'userKey=a1b23' \
--form 'apiKey=1_ffER_hk6Rb89--2EElfsdeF3' \
--form 'secret=Ude+6NIjojo89/gyAB7huGS5' \
--form 'targetUID=ulknnk4kjlkj5'
`我们正在寻找一个样本片段来发布上面的multipart/form-data。
发布于 2021-08-05 00:37:54
您需要自己构建FormData()对象,然后才能将其传递给下一个操作。
var data = new FormData();
data.append("userKey", "a1b23");
data.append("apiKey", "1_ffER_hk6Rb89--2EElfsdeF3");
data.append("secret", "Ude+6NIjojo89/gyAB7huGS5");
data.append("targetUID", "ulknnk4kjlkj5");这是来自OpenTest API testing YAML的一些修改后的示例。
description: Example Post based off SO Question
actors:
- actor: ACTOR1
segments:
- segment: 1
actions:
- description: Create a random post ID
script: |
var data = new FormData();
data.append("userKey", "a1b23");
data.append("apiKey", "1_ffER_hk6Rb89--2EElfsdeF3");
data.append("secret", "Ude+6NIjojo89/gyAB7huGS5");
data.append("targetUID", "ulknnk4kjlkj5");
- description: Send a request to getacb
action: org.getopentest.actions.HttpRequest
args:
url: https://serviceurl.com/getacb
headers:
Content-Type: multipart/form-data
verb: POST
body: data
- description: Extract the response's status code and body
script: |
var statusCode = $output.statusCode;
var postInfo = $output.body;
- description: Validate the response status code
script: |
if (statusCode != 201) {
$fail($format(
"We expected the status code to be {0} but it was {1}",
201,
statusCode));
}https://stackoverflow.com/questions/63129835
复制相似问题