Loadrunner web_custom_request函数未返回json格式响应

时间:2015-10-20 17:21:06

标签: curl load-testing loadrunner vugen

我通过curl调用注册客户,并在有效负载中提供了一个xml文件,其中包含客户的手机号码,以及如下密码:

 <userAccount>
        <mobile>01733156102</mobile>
        <password>geheim01</password>
    </userAccount>

curl调用看起来如此:

curl -k -X POST -u qqcdi3:j5tmajpc -H "Content-Type: application/xml" -d @CDP_Reg_min_phone.xml https://c2b-i.natura.net/api/v3/clients/cdp/fr_FR/customers

curl调用在commandLine上工作正常,作为响应,我得到一个像这样的json enry是正确的:

{"userAccount":{"mobile":"01733156102","notificationLevel":"NEW_DEVICE","authenticationLevel":"ONE_FACTOR","gcid":"cfe71e26-c1bc-40d8-8bac-a9abca4b9316","secret
KnowledgeActivated":false,"status":"UNCONFIRMED"}}

但是在Loadrunner上,它没有给出正确的响应,而不是我得到这样的响应:

 912-byte response body for "https://c2b-i.natura.net/api/v3/clients/cdp/fr_FR/customers" (RelFrameId=1, Internal ID=1)
Action.c(42):     <HTML><HEAD><TITLE></TITLE></HEAD><BODY onLoad="document.AUTOSUBMIT.submit();">This page i
Action.c(42):     s used to hold your data while you are being authorized for your request.<BR><BR>You will 
Action.c(42):     be forwarded to continue the authorization process. If this does not happen automatically,
Action.c(42):      please click the Continue button below.<FORM NAME="AUTOSUBMIT" METHOD="POST" ENCTYPE="app
Action.c(42):     lication/x-www-form-urlencoded" ACTION="https://c2b-i.bmwgroup.net/siteminderagent/forms/l
Action.c(42):     ogin.fcc?TYPE=33619969&REALMOID=06-2b2683bb-229b-491a-a393-d4f82eb82804&GUID=&SMAUTHREASON
Action.c(42):     =0&METHOD=POST&SMAGENTNAME=-SM-Mq1XdSJKL8NdvBmymBJHpO%2bGYaqCW67pMeCPFiqK1zRIp6t8lJaHA1Bjh
Action.c(42):     uK0SeOx&TARGET=-SM-https%3a%2f%2fc2b--i%2ebmwgroup%2enet%2fapi%2fv3%2fclients%2fcdp%2fde_D
Action.c(42):     E%2fcustomers"><INPUT TYPE="HIDDEN" NAME="SMPostPreserve" VALUE="utfbo50P0fYWJGOGRvcDGWyPW
Action.c(42):     loukE/tB1kOHP4h5tO/44uQ8EOErF6IdeqiBLyP"><INPUT TYPE="SUBMIT" VALUE="Continue"></FORM></BO
Action.c(42):     DY></HTML>\r\n

我对loadrunner的调用如下所示:

web_custom_request("post_to_http_jms_provider",
                     "URL={URL_Param}", // save rest service url to param
                        "Method=POST",
                        "TargetFrame=",
                           "Resource=0",
                           "Referer=",
                           "EncType=text/xml; charset=utf-8",//here because the payload is an xml file
                           "Mode=HTTP",
                         "Body={REQUEST_XML_PARAM}",// // save xml request to param
                            LAST);

并且正文的xml内容看起来如此:

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"

"<newCustomer xmlns:enh=\"http://natura.com/gcdm/controller/v3/model\" xmlns:bupa=\"http://natura.com/gcdm/controller/v3/model/businessPartner\" xmlns:cr=\"http://natura.com/gcdm/controller/v3/model/campaignResponse\" xmlns:deal=\"http://natura.com/gcdm/controller/v3/model\" xmlns:cupr=\"http://natura.com/gcdm/controller/v3/model/businessPartner/customerProfile\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"C:/svn/c2b/gcdm-api/trunk/src/main/resources/schema/gcdm-customer-schema.xsd\">"
    "<userAccount>"
        "<mobile>01733156102</mobile>"
        "<password>geheim01</password>"
    "</userAccount>"
"</newCustomer>";

我不知道如何获取json响应格式

1 个答案:

答案 0 :(得分:0)

使用web_reg_save_param(“JsonData”,“LB =”,“RB =”,“Search = Body”,LAST);并在运行时设置中启用java脚本&gt;偏好&gt;设置高级选项,单击选项按钮&gt;在“Web Javascript”部分下,启用“运行Javascript代码”为“是”。您需要创建一个js文件,如here所述。