开发测试脚本可以通过录制,也可以手动开发,建议能录制的尽量录制,省时省力,不能录制的只能费力自己开发了,具体看项目情况来决定。
  使用Loadrunner开发脚本过程中和Jmeter一样,需要了解HTTP传输原理,使用Fiddler等工具进程抓包,根据请求信息编写请求表单,根据响应信息判断返回值做关联处理,在Action中插入->新建步骤中添加需要的函数,设置请求参数来逐步完成每个请求。

  在开发流程测试脚本过程中,往往需要将上一个请求的返回值作为下个请求的参数,这时候需要用到关联,很多时候Loadrunner自动关联不是的,需要我们自己定义关联提取出需要的信息,以下为关联部分脚本:
Action()
{
lr_start_transaction("打开登陆页");
web_url("web_url",
"URL={URL}/user/login.html",
"TargetFrame=",
"Resource=0",
"Referer=",
LAST);
lr_end_transaction("打开登陆页", LR_AUTO);
lr_start_transaction("提交登陆表单");
web_submit_data("web_submit_data",
"Action={URL}/user/login.do",
"Method=POST",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=acct", "Value={username}", ENDITEM,
"Name=beforeURL", "Value=", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=verifyCode", "Value=1234", ENDITEM,
LAST);
lr_end_transaction("提交登陆表单", LR_AUTO);
lr_start_transaction("出借列表");
web_url("web_url",
"URL={URL}/front/investmentList.html",
"TargetFrame=",
"Resource=0",
"Referer=",
LAST);
lr_end_transaction("出借列表", LR_AUTO);
//提取“去出借”请求的“loanId”参数,在“出借”请求中调用;
web_reg_save_param("loanId",
"LB=type="hidden" id="loanId" value="",
"RB="/>",
LAST);
lr_start_transaction("去出借");
web_url("web_url",
"URL={URL}/loanObject/2220003.html",
"TargetFrame=",
"Resource=0",
"Referer=",
LAST);
lr_end_transaction("去出借", LR_AUTO);
//以下为提取“出借”请求的关联,在“出借跳转”请求参数中调用;
web_reg_save_param("functionNum",
"LB=functionNum\":\"",
"RB=\",\"orderId",
LAST);
web_reg_save_param("orderId",
"LB=orderId\":\"",
"RB=\"",
LAST);
web_reg_save_param("ordDate",
"LB=ordDate\":\"",
"RB=\"",
LAST);
web_reg_save_param("investorId",
"LB=investorId\":\"",
"RB=\"",
LAST);
web_reg_save_param("borrowerId",
"LB=investorId\":\"",
"RB=\"",
LAST);
web_reg_save_param("fullAmount",
"LB=fullAmount\":",
"RB=,\",
LAST);
web_reg_save_param("amount",
"LB=amount\":",
"RB=,\",
LAST);
web_reg_save_param("signStr",
"LB=signStr\":\"",
"RB=\"",
LAST);
web_reg_save_param("freezeOrdId",
"LB=freezeOrdId\":\"",
"RB=\"",
LAST);
lr_start_transaction("出借");
web_submit_data("web_submit_data",
"Action={URL}/loanObject/invest.do",
"Method=POST",
"RecContentType=application/json",
"TargetFrame=",
"Referer=",
ITEMDATA,
"Name=loanId", "Value={loanId}", ENDITEM,
"Name=amount", "Value=100", ENDITEM,
LAST);
lr_end_transaction("出借", LR_AUTO);
lr_start_transaction("出借跳转");
web_submit_data("web_submit_data",
"Action={URL}/intf/bid.do",
"Method=POST",
"EncodeAtSign=YES",
"TargetFrame=",
"Referer=",
"Mode=HTML",
ITEMDATA,
"Name=jsonDataString", "Value={"functionNum":"{functionNum}","orderId":"{orderId}","ordDate":"{ordDate}","investorId":"{investorId}","borrowerId":"{borrowerId}","loanId":"{loanId}","amount":{amount},"fullAmount":{fullAmount},"fee":0.00,"feeRate":1.00,"terminal":"pc","maxTenderRate":0.5,"isFreeze":"Y","freezeOrdId":"{freezeOrdId}","signStr":"{signStr}"}", ENDITEM,
LAST);
lr_end_transaction("出借跳转", LR_AUTO);
return 0;
}