LR 细节解析,为什么LR脚本会去访问“脚本中不存在的“资源?

发表于:2012-5-08 11:03

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

 作者:薛定谔的破猫    来源:51Testing软件测试网采编

  2、URL-Based Mode录制方式,可以录制到所有的请求,包括一个页面请求,两个图片请求。

web_url("test_mode.html", 
        "URL=http://172.16.6.17:8080/test_mode.html",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t13.inf",
        "Mode=HTTP",
        LAST);

    web_concurrent_start(NULL);

    web_url("20111008_3f1828e9b28294cb7f23Wu3TykOUV9RM.jpg",
        "URL=http://172.16.1.3/bbs/attachments/month_1110/20111008_3f1828e9b28294cb7f23Wu3TykOUV9RM.jpg",
        "Resource=1",
        "RecContentType=image/jpeg",
        "Referer=http://172.16.6.17:8080/test_mode.html",
        "Snapshot=t14.inf",
        LAST);

    web_url("20111008_67cebe2ca85b66fe580cGUGESOM05AWo.jpg",
        "URL=http://172.16.1.3/bbs/attachments/month_1110/20111008_67cebe2ca85b66fe580cGUGESOM05AWo.jpg",
        "Resource=1",
        "RecContentType=image/jpeg",
        "Referer=http://172.16.6.17:8080/test_mode.html",
        "Snapshot=t15.inf",
        LAST);

    web_concurrent_end(NULL);

  对比两种录制方式可以发现,对主页面的请求,两个脚本的唯一差别就在Mode属性为"HTML"还是"HTTP"(代码中标记黄色处)。通过修改测试1(HTML-Based Mode),可以很容易的获得以下信息:

  如果MODE="HTML",那么访问页面的请求,会自动去请求页面上的资源。

  如果MODE="HTTP",那么会只请求这个页面的HTML文件。

  但熟悉LR的人又肯定记得,在默认的HTML-Based Mode录制模式下,web_url脚本中应该会记录所请求的资源文件啊?在EXTRARES属性后经常会看到"Url=/image/test.jpg"这样的语句,那为什么出现问题的那个页面,和我们的测试页面录下来的脚本确实没记录资源文件呢?

  要查明这点很容易,只要随便找一个网站录制一下,去看看脚本中记录的资源文件有什么特点就知道了。

  用我们公司的搜索平台做一下实验,录制主页面如下。果然得到了我们期望的EXTRARES属性,下面列出了很多资源文件。

web_url("search.thunisoft.com", 
        "URL=http://search.thunisoft.com/",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t16.inf",
        "Mode=HTML",
        EXTRARES,
        "Url=/skins/default/images/bg_top.gif", ENDITEM,
        "Url=/skins/default/images/nav_bg.gif", ENDITEM,
        "Url=/skins/default/images/nav_right.jpg", ENDITEM,
        "Url=/skins/default/images/search_m.gif", ENDITEM,
        "Url=/skins/default/images/button02.gif", ENDITEM,
        "Url=/skins/default/images/nav_r.gif", ENDITEM,
        "Url=/skins/default/images/button01.gif", ENDITEM,
        "Url=/skins/default/images/nav_l.gif", ENDITEM,
        "Url=/skins/default/images/search_l.gif", ENDITEM,
        "Url=/skins/default/images/search_r.gif", ENDITEM,
        LAST);

  分析一下页面的源文件,搜索脚本中出现的各个图片名,居然发现一个都找不到!而源文件中出现的图片文件,在脚本中又都没记录。

  那么继续寻找脚本中图片的来源吧。其实到这应该很自然的想到了CSS文件了吧,于是随着源文件中的<link>找到连接文件,果然EXTRARES中的所有资源文件都找到了。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号