2、URL-Based Mode录制方式,可以录制到所有的请求,包括一个页面请求,两个图片请求。
web_url("test_mode.html", web_concurrent_start(NULL); web_url("20111008_3f1828e9b28294cb7f23Wu3TykOUV9RM.jpg", web_url("20111008_67cebe2ca85b66fe580cGUGESOM05AWo.jpg", 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中的所有资源文件都找到了。