|
性能测试其实测的就是接口的性能,不管是用工具录制还是自己写,都是围绕接口的,录制也是把接
口录制下来而已,但是录制下来的脚本比较乱,会把很多相关的请求都录下来。
在这里我们手动写HTTP协议的get、post请求的接口
1.HTTP的GET请求
这里以访问百度为例,地址http://www.baidu.com/s?wd=helloworld,表示在百度上搜索helloworld。
- <p>Action()</p><p>{</p><p>
- </p><p>
- </p><p>int status; //定义状态</p><p>lr_start_transaction("send"); //定义开始事务</p><p>
- </p><p>web_reg_find("Search=Body",//这里说明在Body的范围内查找</p><p>"SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里</p><p>"Text=helloworld",//这里表示查找的内容是“helloworld”</p><p>LAST);</p><p>
- </p><p>status=web_url("Baidu_Search", </p><p>"URL= http://www.baidu.com/s?wd=helloworld", </p><p>"TargetFrame=Main", </p><p>"Resource=0", </p><p>"RecContentType=text/html", </p><p>"Mode=http", </p><p>LAST ); </p><p>
- </p><p>lr_output_message("Request Status:%d",status); </p><p>lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}"))); </p><p>
- </p><p>if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数 </p><p>lr_output_message("Rec successful."); </p><p>lr_end_transaction("send", LR_PASS); //结束事务</p><p>} </p><p>else{ </p><p>lr_error_message("Rec failed"); </p><p>lr_end_transaction("send", LR_FAIL); //结束事务</p><p>} </p><p>
- </p><p>return 0; </p><p>}</p><p></p>
复制代码
2.HTTP POST请求
这里用飞机订票系统的注册方法举例,脚本如下:
- <p>
- </p><p>Action()</p><p>{</p><p>
- </p><p>int status; </p><p>
- </p><p>lr_start_transaction("注册");</p><p>
- </p><p>
- </p><p>web_reg_find("Search=Body",//这里说明在Body的范围内查找 </p><p>"SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里 </p><p>"Text=Thank you",//这里表示查找的内容是“t” </p><p>LAST);</p><p>
- </p><p> </p><p>
- </p><p>status= web_submit_data("default.aspx", </p><p>"Action=http://127.0.0.1:1080/WebTours/login.pl ", //地址</p><p>"Method=POST", //POST请求</p><p>
- </p><p>ITEMDATA,</p><p>
- </p><p>//传参</p><p>"Name=username", "Value=shen", ENDITEM, </p><p>"Name=password", "Value=shen", ENDITEM, </p><p>"Name=passwordConfirm", "Value=shen", ENDITEM, </p><p>"Name=firstName", "Value=", ENDITEM, </p><p>"Name=lastName", "Value=", ENDITEM, </p><p>"Name=address1", "Value=", ENDITEM, </p><p>"Name=address2", "Value=", ENDITEM, </p><p>"Name=register.x", "Value=43", ENDITEM, </p><p>"Name=register.y", "Value=17", ENDITEM,</p><p>
- </p><p>LAST );</p><p>
- </p><p>lr_output_message("Request Status:%d",status); </p><p>lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));</p><p>
- </p><p>if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数 </p><p>lr_output_message("Rec successful."); </p><p>lr_end_transaction("注册", LR_PASS); </p><p>} </p><p>else{ </p><p>lr_error_message("Rec failed"); </p><p>lr_end_transaction("注册", LR_FAIL); </p><p>} </p><p>
- </p><p>return 0;</p><p>}</p>
复制代码
|
|