LoadRunner负载测试系列之选择协议

发表于:2021-10-27 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:枫叶    来源:51Testing软件测试网原创

  LoadRunner协议推荐器
  我们来认识一下如何使用强大的LoadRunner协议推荐器。
  首先LoadRunner提供了一个典型的工作流,这个工作流可以利用协议推荐器来找到可以录制我们的应用程序最适合的协议,该工作流如下:
  1)启动协议推荐器。
  进入LoadRunner软件首页,选择文件>协议推荐器>分析应用程序,弹出协议推荐器对话框;
  2)运行典型的逻辑业务流程;
  3)保存运行结果;
  4)选择一个协议并且创建一个新虚拟用户的脚本;
  5)进行优化、调试,并且验证回放;
  6)如果不能成功回放,选择另一个协议并且重复上述的步骤。
  我们来具体实践一下如何使用这个便捷的LoadRunner协议推荐器。打开LoadRunner软件,选择菜单项Create/Edit Script,打开首页,选择“?File > Protocol Advisor > Analyze Application”,在弹出的协议推荐器对话框中填写应用程序类型、程序安装位置、工作目录,点击OK按钮。

  选择合适协议
  我们看到协议推荐结果:
  Application name: C:\Users\Administrator\Desktop\软件\***.exe\
  Program arguments:
  We detected the following protocols in your business process:

  Web (HTTP/HTML)
  通过推荐,我们准确地得到了LoadRunner应该选择Web(HTTP/HTML)协议。

  创建脚本
  现在我们开始创建脚本。点击New script按钮,录制应用程序业务逻辑后,得到的vuser_init和vuser_end。

  vuser_init
  vuser_init部分:
vuser_init()
{
//访问登录接口,方法POST
  web_submit_data("login", 
    "Action=http://***/login", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t1.inf", 
    "Mode=HTML", 
    ITEMDATA, 
        //填写登录名、密码,type=2代表在客户端上登录
    "Name=username", "Value=user", ENDITEM, 
    "Name=password", "Value=pwd", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    "Name=api_os_code", "Value=F0:BF:97:E2:C9:B3", ENDITEM, 
    "Name=api_os_model", "Value=6.1.7601.65536", ENDITEM, 
    "Name=api_version_code", "Value=Win32NT", ENDITEM, 
    EXTRARES, 
    "Url=getauth?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf", "Referer=", ENDITEM, 
    LAST);

//登录用户token1验证
  web_submit_data("checktoken", 
    "Action=http://***/users/checktoken", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t2.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=user", ENDITEM, 
    "Name=tr_id", "Value=trid", ENDITEM, 
    "Name=oauth_token", "Value=817f64a82c54f47ad974311cb9308baa", ENDITEM, 
    "Name=oauth_token_secret", "Value=12770d793561a92c79628d2104d653cf", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    EXTRARES, 
    "Url=../cases/mylock?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf&type=2&page=1&limit=30&status=0&caseid=0&case_type=0", "Referer=", ENDITEM, 
    LAST);

//登录用户token2验证
  web_submit_data("checktoken_2", 
    "Action=http://***/users/checktoken", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t3.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=userid", ENDITEM, 
    "Name=tr_id", "Value=trid", ENDITEM, 
    "Name=oauth_token", "Value=817f64a82c54f47ad974311cb9308baa", ENDITEM, 
    "Name=oauth_token_secret", "Value=12770d793561a92c79628d2104d653cf", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    EXTRARES, 
    "Url=../chronic/mbpatpist?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf& type=2&page=1&limit=30", "Referer=", ENDITEM, 
    LAST);

//登录用户token3验证
  web_submit_data("checktoken_3", 
    "Action=http://***/users/checktoken", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t4.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=userid", ENDITEM, 

    "Url=../devices/getlist?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf&type=2&page=1&limit=30", "Referer=", ENDITEM, 
    LAST);

//登录用户token4验证
  web_submit_data("checktoken_4", 
    "Action=http://***/users/checktoken", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t5.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=userid", ENDITEM, 
    "Name=tr_id", "Value=trid", ENDITEM, 
    "Name=oauth_token", "Value=817f64a82c54f47ad974311cb9308baa", ENDITEM, 
    "Name=oauth_token_secret", "Value=12770d793561a92c79628d2104d653cf", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    EXTRARES, 
    "Url=../getlist?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf&type=2&page=1&limit=30", "Referer=", ENDITEM, 
    LAST);

//登录用户token5验证
  web_submit_data("checktoken_5", 
    "Action=http://***/users/checktoken", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t6.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=", ENDITEM, 
    "Name=tr_id", "Value=", ENDITEM, 
    "Name=oauth_token", "Value=817f64a82c54f47ad974311cb9308baa", ENDITEM, 
    "Name=oauth_token_secret", "Value=12770d793561a92c79628d2104d653cf", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    EXTRARES, 
    "Url=../getlist?uid=&tr_id=&oauth_token=817f64a82c54f47ad974311cb9308baa&oauth_token_secret=12770d793561a92c79628d2104d653cf&type=2&page=1&limit=30", "Referer=", ENDITEM, 
    LAST);

  return 0;
}

  vuser_end
  vuser_end部分:
vuser_end()
{

  lr_think_time(8);

  web_submit_data("logout", 
    "Action=http://***/users/logout", 
    "Method=POST", 
    "EncType=multipart/form-data", 
    "RecContentType=application/json", 
    "Referer=", 
    "Snapshot=t7.inf", 
    "Mode=HTML", 
    ITEMDATA, 
    "Name=uid", "Value=uid", ENDITEM, 
    "Name=tr_id", "Value=trid", ENDITEM, 
    "Name=oauth_token", "Value=817f64a82c54f47ad974311cb9308baa", ENDITEM, 
    "Name=oauth_token_secret", "Value=12770d793561a92c79628d2104d653cf", ENDITEM, 
    "Name=type", "Value=2", ENDITEM, 
    LAST);

  return 0;
}

  由此可以反过来验证,LoadRunner推荐的协议是适合的。见问题,那么还犹豫什么,动手实践吧!


......
查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第六十三期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号