Postman戻り値の抽出
3589 ワード
json応答結果
Postmanはインタフェーステストをしていますが、多くのインタフェースは直接テストできるわけではありません.前処理が必要です.例えばログインするときはtokenを渡す必要があります.Webテストの場合、ログインページを開くと自動的にtokenが生成されます.json形式を返す場合は、Postmanで値を抽出するのが簡単です.Testに入力します.
以上のようにaccessを抽出します.tokenの値、Testに次のように入力します.
上の応答結果はjson形式ですが、応答結果がtext形式であればどのようにして戻り値を取得しますか?
text応答結果
ケース1
このような応答結果の場合、取得された応答値は次のようになります.
応答の結果がhtml形式であれば、必要なvalueをどのように取得しますか?
ケース2
のようにcsrf-tokenの を するには、 の を します.
は、 を してtokenを する です.ネット にはもう つの があります.
pmを できます.globals.set("getstring", JSON.stringify(jsonObject.html.head.meta));htmlの を します.
しかし、この を すると、htmlは されていません.postmanのマニュアルを しても の は つからず、 バージョンならではの なのか からない.
のjsonフォーマットは な{} であり、 な は のようになります.
とは なり、dataには のjson のデータがある がありますが、dataの のjsonを するにはどうすればいいのでしょうか. はとても です.tests ボックスに します.
:https://www.cnblogs.com/LOVEYU/p/11118627.html
Postmanはインタフェーステストをしていますが、多くのインタフェースは直接テストできるわけではありません.前処理が必要です.例えばログインするときはtokenを渡す必要があります.Webテストの場合、ログインページを開くと自動的にtokenが生成されます.json形式を返す場合は、Postmanで値を抽出するのが簡単です.Testに入力します.
{
"access_token": "dda7b55f-574d-4de6-9f62-d849d5894ba9",
"token_type": "bearer",
"refresh_token": "1da3f4fb-dbf7-40d6-9316-32916f4c0d03",
"expires_in": 3599,
"scope": "READ WRITE"
}
以上のようにaccessを抽出します.tokenの値、Testに次のように入力します.
// json
var jsonData = JSON.parse(responseBody);
// access_token hb_access_token
// pm
pm.globals.set("hb_access_token",jsonData.access_token);
上の応答結果はjson形式ですが、応答結果がtext形式であればどのようにして戻り値を取得しますか?
text応答結果
ケース1
VZISsIhsksx3lHKksBE68sJ8NFlzZWNyZXRJZD1BS0lEbXRoeUxFNFFXMDVXWEhqNFN5RjBEdkpBbElPeHFyY3cmY3VycmVudFRpbWVTdGFtcD0xNTYxOTc5MTMzJmV4cGlyZVRpbWU9MTU2MjE1MTkzMyZyYW5kb209MzQ0MjkwOTEyJnByb2NlZHVyZT1oYi1tcDQtMjA=
このような応答結果の場合、取得された応答値は次のようになります.
pm.globals.set("hb_sign",pm.response.text())
応答の結果がhtml形式であれば、必要なvalueをどのように取得しますか?
ケース2
Redmine
のようにcsrf-tokenの を するには、 の を します.
var cs_token_temp = pm.response.text();
var cs_token_temp_01 = data01.match(/name="csrf-token" content="(.*?)"/)[1];
//match()
pm.globals.set("cs_token", cs_token_temp_01);
console.log(pm.globals.get("cs_token"));
は、 を してtokenを する です.ネット にはもう つの があります.
// XML body JSON
var jsonObject = xml2Json(responseBody);
pm.globals.set("cs_token", jsonObject.html.head.meta[4].$.content);
pmを できます.globals.set("getstring", JSON.stringify(jsonObject.html.head.meta));htmlの を します.
しかし、この を すると、htmlは されていません.postmanのマニュアルを しても の は つからず、 バージョンならではの なのか からない.
のjsonフォーマットは な{} であり、 な は のようになります.
{
"status": 1,
"message": "success",
"data": [
{
"id": 1,
"title": " ",
"author": " ",
"content": " , , , 。 , , , "
},
{
"id": 5,
"title": " ",
"author": " ",
"content": " , , , 。 , , , "
}
]
}
とは なり、dataには のjson のデータがある がありますが、dataの のjsonを するにはどうすればいいのでしょうか. はとても です.tests ボックスに します.
var jsonData = JSON.parse(responseBody);
tests["Check respose status value"] = jsonData.status === 1;
pm.test(" data json id 1", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].id).to.eql(1);
});
:https://www.cnblogs.com/LOVEYU/p/11118627.html