51Testing软件测试论坛

标题: loadrunner http协议性能测试脚本编写 [打印本页]

作者: 太鼓达人    时间: 2018-6-22 16:52
标题: loadrunner http协议性能测试脚本编写
性能测试其实测的就是接口的性能,不管是用工具录制还是自己写,都是围绕接口的,录制也是把接
口录制下来而已,但是录制下来的脚本比较乱,会把很多相关的请求都录下来。

在这里我们手动写HTTP协议的get、post请求的接口

1.HTTP的GET请求
这里以访问百度为例,地址http://www.baidu.com/s?wd=helloworld,表示在百度上搜索helloworld。

  1. <p>Action()</p><p>{</p><p>
  2. </p><p>
  3. </p><p>int status; //定义状态</p><p>lr_start_transaction("send"); //定义开始事务</p><p>
  4. </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>
  5. </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>
  6. </p><p>lr_output_message("Request Status:%d",status); </p><p>lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}"))); </p><p>
  7. </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>
  8. </p><p>return 0; </p><p>}</p><p></p>
复制代码



2.HTTP POST请求
这里用飞机订票系统的注册方法举例,脚本如下:
  1. <p>
  2. </p><p>Action()</p><p>{</p><p>
  3. </p><p>int status; </p><p>
  4. </p><p>lr_start_transaction("注册");</p><p>
  5. </p><p>
  6. </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>
  7. </p><p> </p><p>
  8. </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>
  9. </p><p>ITEMDATA,</p><p>
  10. </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>
  11. </p><p>LAST );</p><p>
  12. </p><p>lr_output_message("Request Status:%d",status); </p><p>lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));</p><p>
  13. </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>
  14. </p><p>return 0;</p><p>}</p>
复制代码



作者: qqq911    时间: 2018-6-27 19:13
感谢分享~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2