Postman戻り値の抽出

3589 ワード

json応答結果
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