一、web_custom_request函数介绍
LoadRunner提供的web_custom_request函数可以用于实现参数的动态生成。在LoadRunner中,web_reg_save_param和custom_request都常于处理参数的动态生成。
web_reg_save_param函数是大家都已经熟悉的了,它的主要作用是从一个response中获得后续的request需要使用的数据,然后将其作为一个参数保存下来,供后续步骤使用。该方法在LoadRunner中被称为Correlation(关联)。
而web_custom_request函数则可以用于完全自定义向服务端发送的request
web_custom_request方法的原型是:
int web_custom_request (const char
*RequestName, <List of Attributes>,[EXTRARES, <List of Resource
Attributes>,] LAST );其中List of Attributes的主要项目是Method,URL和BODY等.
下面再介绍两个事例:
/* 脚本名称:web_custom_request事例 脚本功能:通过登录WebTours的操作来演示web_custom_request函数的使用 使用的技术:关联和检查点 */ Action() { //定义一个变量,进行判断是否登录成功时使用 int tag=0; //对userSession进行关联 // <input type=hidden name=userSession value=110044.482462535fzzAtVDpAzzzzzzHDDQzcptHit> web_reg_save_param("userID","LB=<input type=hidden name=userSession value=","RB=>",LAST); web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); lr_think_time(9); //检查点设置 tag=web_reg_find("Text=jojo","Search=ALL",LAST); /*利用web_custom_request函数自定义请求*/ web_custom_request("login.pl", "Method=POST", "URL=http://127.0.0.1:1080/WebTours/login.pl", "Body=userSession={userID}&username=jojo&password=bean&JSFormSubmit=off&login.x=54&login.y=8", LAST); if(tag==0) lr_output_message("login successful!"); else lr_output_message("login failed"); /* web_submit_form("login.pl", "Snapshot=t2.inf", ITEMDATA, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=login.x", "Value=54", ENDITEM, "Name=login.y", "Value=8", ENDITEM, LAST); */ web_image("SignOff Button", "Alt=SignOff Button", "Snapshot=t3.inf", LAST); lr_output_message("signoff successful"); return 0; }