关于EXTRARES的扩展说明—性能测试进阶指南 LoadRunner 11实战(第二版)

发表于:2015-1-07 11:01

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

 作者:陈霁、李锋、王臣钧    来源:51Testing软件测试网采编原创

  关于EXTRARES的扩展说明:
  EXTRARES如果请求的地址和主请求相同不会产生新的流量。
  录制得到的EXTRARES不是简单地将图片拆出而是主请求请求不到的内容,例如,css中的图片引用或favicon.ico这种系统规定等。
  错误的extrares会产生额外的请求。
  在普通脚本开发中为了更好地模拟用户请求最好还是别删extrares,多了没什么坏处,只是多了一点数据流量,删了会导致某些主请求请求不到的内容不会被请求。至于EXTRARES中的内容是不是也需要参数化或者关联,个人觉得不用做那么多了,差别不大。
  web_link()和web_url()函数都是页面访问型函数,实现HTTP请求中的GET方法,如果需要提交表单,实现HTTP请求中的POST方法,那么需要使用web_submit_form()或web_submit_data()函数。
  补充:web_submit_form()函数详解
  该函数会自动检测在当前页面上是否存在form表单,然后将后面的ITEMDATA数据进行传送。注意当一个页面上有多个表单时无法录制得到web_submit_form()函数,LR会自动使用web_submit_data()替代。例如录制在PHPwind网站上登录后进行查询操作,可以得到以下代码:
web_submit_form("searcher.php",
"Snapshot=t8.inf",
ITEMDATA,
"Name=keyword", "Value=search", ENDITEM,
EXTRARES,
"Url=images/search/search_btn.png", ENDITEM,
"Url=u/images/pre.cur", ENDITEM,
"Url=u/images/next.cur", ENDITEM,
"Url=images/search/pImg.png", ENDITEM,
"Url=images/search/pImg_close.png", ENDITEM,
"Url=images/search/search_del.png", ENDITEM,
LAST);
  可以看到使用web_submit_form函数只需要传送一个keyword的数据值就行了,而使用隐藏标记的数据函数会自动处理。
  补充:web_submit_data()函数详解
  与web_submit_form()函数不同,web_submit_data()函数无须前面的页面支持,直接发送给对应页面相关数据即可。录制在phpwind网站登录后查询操作,代码会变为:
web_submit_data("searcher.php",
"Action=http://localhost:8000/phpwind85/searcher.php",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://localhost:8000/phpwind85/",
"Snapshot=t10.inf",
"Mode=HTML",
ITEMDATA,
"Name=verify", "Value=60cc839c", ENDITEM,
"Name=step", "Value=2", ENDITEM,
"Name=type", "Value=thread", ENDITEM,
"Name=keyword", "Value=search", ENDITEM,
EXTRARES,
"Url=images/search/search_btn.png", ENDITEM,
"Url=u/images/next.cur", ENDITEM,
"Url=images/search/pImg_close.png", ENDITEM,
"Url=images/search/search_del.png", ENDITEM,
"Url=images/search/pImg.png", ENDITEM,
"Url=u/images/pre.cur", ENDITEM,
LAST);
  其中Action说明提交表单的处理页面,Method表明提交数据的方式。
  当使用web_submit_data()函数时,隐藏表单的数据也会被记录下来作为ITEMDATA数据提交给服务器。
  这里介绍了在HTTP页面中最常用的4个页面函数web_link()、web_url()、web_submit_form()、web_submit_data(),通过这些函数可以实现大多数页面访问的请求和数据提交的过程。除了这4个函数,还有一个函数可能会经常看到web_custom_request()。当请求比较特别时,VuGen无法简单使用以上4个函数进行表述,那么录制后便会出现web_custom_request()函数,这个函数的作用是自定义HTTP请求规则。例如,我们需要模拟一个web_url函数那么就可以这样写:
  web_custom_request("web_custom_request",
  "URL=http://localhost:8000/phpwind85/index.php",
  "Method=GET",
  "TargetFrame=",
  "Resource=0",
  "Referer=",
  "Mode=HTML",
  "Body=",
  LAST);
本文选自《性能测试进阶指南—LoadRunner 11实战(第二版)》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
51/512345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号