51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2221|回复: 1
打印 上一主题 下一主题

[讨论] loadrunner http协议性能测试脚本编写

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-6-22 16:52:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
性能测试其实测的就是接口的性能,不管是用工具录制还是自己写,都是围绕接口的,录制也是把接
口录制下来而已,但是录制下来的脚本比较乱,会把很多相关的请求都录下来。

在这里我们手动写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>
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 20:08 , Processed in 0.073178 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表