原文是一个关于LoadRunner的博客,地址:http://easyloadrunner.blogspot.jp/2013/06/all-about-weburl-and-weblink-in.html
以下是翻译:
1、web_url与上下文无关,但是web_link是一个与上下文敏感的函数。上下文敏感是指该函数的模拟执行的是GUI对象动作(如窗口、列表、按钮)。
2、在使用该函数前需检查录制模式是HTML还是URL。web_link仅在HTML录制模式下才会有效
3、如果是web_url出现在一个上下文敏感的函数前(比如web_link),这个是可以对服务器产生请求的,但反过来就会出错。
4、在录制过程中,如果切换了录制的Action,那么当前action中录制的首先声明的函数将永远不会变成一个上下文敏感的函数。
5、web_link, web_url, web_image 或者其他的web_XXX的第一个参数并不会影响脚本回访。比如录制到一个web_link如下:
1
2
3
|
web_link("Hi There",
"Text=Hello, ABC",
LAST);
|
1
2
3
|
web_link("{Welcome to LearnLoadRunner}",
"Text=Hello, ABC",
LAST);
|
1、第一点和第二点的解释:
使用“HTML-based script”的模式录制脚本,VuGen为用户操作行为生成单独的步骤,这种脚本看上去比较直观,因为就像是我们动作的记录;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,即每个数据包的请求内容。比如请求一个页面,在HTML录制模式中就是一段函数,其中extra中会包含该页面的图片等等资源请求,类似于将一个动作中所有的请求打包成一段脚本。而使用url模式,这个页面请求就不仅仅是一个网址输入然后回车这么一步能解决的,它会将该页面的所有请求记录下来,分别生成对应的函数。而与上下文有关的函数自然就是根据用户执行行为的。
另一点在录制选项的HTML Advanced中还有一个自动生成脚本类型的设置,
第一中脚本类型标识这个脚本是基于描述用户的行为在超链接的地方使用web_link,在用户提交表单的地方使用web_submit_form,非常直观,但是与上下文关联,很容易出现Error -27979: Requested form. not found [MsgId: MERR-27979] 这样的错误;第二个直接将所有链接操作(超链接,图片等)转换为资源的请求函数web_url,也就是使用web_url,提交表单转换成提交数据操作,也就不再与上下文相关。
一个实验:使用第一类,得到的脚本如下
选用第二种,同样录制一段脚本,结果如下:
2、第三点的解释:
我理解的这句话的意思是说如果先通过web_url请求了一个页面,然后再通过web_link来进行超链接的操作这个是可行的,但是如果没有之前的页面存在,即没有上下文,率先使用web_link就会由于没有链接对象而失败。
3、第四点:
其实就是如果请求了一个页面,然后换了一个Action,那么即使在应该是链接,也不会用web_link这样上下文相关的函数
例如下面这个实验,仍然是同样的操作,先打开开源中国页面,然后新建一个Action,点击第一个开发者调查报告,生成的脚本就和上面不一样了,是web_url而不再是web_link,也就是这个上下文相关不是指的一个脚本中的上下文相关,而是一个Action,对于LoadRunner来说,每个Action的请求是分离不相关的。
4、对于第五点,我觉得这个博客里面写得就有点太故弄玄虚了,第一个参数就是tree视图中的该操作的名字而已,当然能改。
4、对于第五点,我觉得这个博客里面写得就有点太故弄玄虚了,第一个参数就是tree视图中的该操作的名字而已,当然能改。