loadrunner-1-Web_submit_form和Web_submit_data的区别

原文链接:http://blog.csdn.net/huangjin0507/article/details/52169940

在LoadRunner中有两个常用函数:Web_submit_formWeb_submit_data,在群里有人问这两个函数有什么区别。为什么会有两个不同却功能相似的函数?区别在哪里?

首先,从工具的角度来说,厂商推荐使用Web_submit_form函数,因为这个函数看起来更易用,需要关注的东西较少。但是,从个人的角度来说,我推荐使用Web_submit_data函数,因为这个函数提供更多技术细节,在测试的过程中可控性更高。下面我就详细解释一下两个函数的工作机制:

首先看一下下面这段HTML代码

<Form Action=login.asp Method=“POST”>

<input name=user value=“”>

<input name=password value=“”>

<input type=hidden name=sessionID value=15379>

</Form>

在录制的过程中,当打开这个页面的时候,这个页面会放在LR的Cache中,之后当我们输入了用户名、口令之后,点了一下提交。Browser会向LR Record Proxy发送一个提交请求,提交内容应该是这样的:

POST login.asp HTTP/1.1

user=steve password=buba

sessionID=15379

这时候,LR会自动比较提交的内容和Cache的内容,首先它会比较提交的数据项和Cache中的数据项是否一致。页面中有三个输入域user、password、sessionID,而提交的内容也有这三项数据,所以它认为提交数据使用了Cache中的页面,之后它会继续比较具体数据的值,它会发现sessionID的值和Cache中的值是一样的,但是user和password的值不一样。

这时候,Web_submit_form和Web_submit_data的区别就出现了:

web_submit_form(”start",

ITEMDATA,

"name=user", "value=steve", ENDITEM,

"name=password", "value=bean", ENDITEM,

LAST);

 

web_submit_data(”start",

“Action=login.asp”,

“Method=POST”

ITEMDATA,

"name=user", "value=steve", ENDITEM,

"name=password", "value=bean", ENDITEM,

"name=sessionID", "value=15379", ENDITEM,

LAST);

可以看到,Web_submit_form只提供了和Cache中有差别的数据,其余的数据会自动从Cache中取。而Web_submit_data则提供了所有的数据,不管Cache存在不存在Web_submit_data都是可以工作的。

所以厂商会推荐使用Web_submit_form,因为它看起来更易用,甚至关联都不需要作,就能直接回放。但是这种情况只能对于简单系统适用。对于一些银行或者移动的复杂系统来说,有时侯会对Cache作特殊操作,Web_submit_form有时侯就会报一些莫名其妙的错出来。而Web_submit_data则跟Cache内容无关。稳定性和可控性都要比Web_submit_form要高很多。所以个人推荐尽量使用Web_submit_data函数。

loadrunner录制脚本如何选择使用get请求和post请求的方式

原文链接:http://www.cnblogs.com/fanjc/p/5818011.html

在loadrunner工具里录制脚本时常常会用到get请求和post请求,有关loadrunner常用的这两类的请求主要有:

get请求: web_urlweb_link

post请求: web_submit_form 和 web_submit_data

由于web_link 和web_submit_form 依靠上下文才能运行的,本身不能独立运行。

而web_ur 和 web_submit_data使用的是绝对路径地址,本身可以独立运行,不依赖上下文。增加了代码的灵活性和稳定性,所以我们一般建议使用后者,可是在系统录制脚本的过程中默认的使用的是web_url 和web_submit_form,那么怎么样才能使工具在录制代码的过程中使用web_ur 和 web_submit_data呢?

我么可以在系统中这么设置:

Tools ----->Recording options(Ctrl + F7)----->recording ----->HTML_based.script

点击HTML_advanced 如下图:

posted @ 2017-08-15 20:26  小明变幻每当的预想  阅读(335)  评论(0编辑  收藏  举报