LoadRunner性能测试手册V1.0- 副本 下载本文

6.4.4 运行方式

线程运行方式:如果选择按照线程方式运行,在默认情况下,controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存段,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。

进程运行方式:如果选择按照进程方式运行,每个用户都将启动一个mmdrv进程,多个mmdrv进程会占用大量内存及其他系统资源,这就限制了可以在任一负载生成器上运行的并发用户数的数量,因为负载机的资源(内存及其他系统资源)是有限的。 当负载机资源足够时,建议使用进程比较真实模拟用户场景

6.4.5参数化

点击下图中的图标

点击“NEW”

13/ 33

使用最多的三种参数类型:

File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据

DateTime:在需要输入日期/时间的地方,可以用DateTime类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。

Random Number:随机数。很简单。在属性设置中可以设置产生随机数的范围。 其中

Select next row:

Sequential:每个VU按照顺序读取。每一个虚拟用户都会按照相同的顺序读取。 Random:每个VU随机读取一个。

Unique:每个VU顺序取唯一的值。注意:使用该类型必须注意数据池中数据充足。 Same Line As 某个参数(比如Name):和前面定义的参数Name 取同行的记录。通常用在有关联性的数据上面。 Update value on:

Once 在所有的反复中都使用同一个值 each iteration 每次反复都要取新值

each occurrence 只要发现该参数就要重新取值,也就是如果一个action中有多个该参数,每遇到一个就要重新取一个值。

7.Loadrunner常用函数

web_custom_request

14/ 33

web_custom_request函数可以用于完全自定义向服务端发送的request。

web_custom_request(\

\\\\

\

\\\

\

\DERAMOUNT=1&ORDERREQTRANSEQ={orderReqNo}&ACCORGCODE=&MERCHANTURL=http://webpaynotice.bestpay.com.cn/webPgNotice.action&BACKMERCHANTURL=http://127.0.0.1:8030/webBgNotice.action&ATTACH=&BUSICODE=0001&PRODUCTNO=15302500010&CLIENTIP=127.0.0.1\

LAST);

1. URL:页面地址。

2. Method:页面的提交方式,POST或GET。

3. TargetFrame:当前链接或资源所在Frame的名称。除了Frame的名字,还可以指定下

面的参数:

_BLANK:打开一个空窗口。

_PARENT:把最新更改过的的Frame替换为它的上级。 _SELF:替换最新更改过的的Frame。 _TOP:替换整个页面。

4. Resource: 指示URL是否属于资源。1 是;0 不是。设置了这个参数后,RecContentType

参数被忽略。“Resource=1”,意味着当前操作与所在脚本的成功与否关系不大。在下载资源 时如果发生错误,是当作警告而不是错误来处理的;URL是否被下载受“Run-Time Setting—Browser Emulation--Download non-HTML resources” 这个选项的影响。此操作的响应信息是不做为HTML来解析的。“Resource=0”,表明此URL

15/ 33

是重要的,不受发送请求(RTS)的影响,在需要时 也会解析它。

5. RecContentType:录制脚本时响应头的内容类型。例如text/html、

application/x-javascript等。

6. Referer:当前页面关联的页面。如果已经显式指定了url的地址,此项可以省略。 7. EncType:编码类型。

8. Mode:两种录制级别HTML、HTTP。HTML级别--在当前Web界面上录制直观的HTML动作。

以一步步的web_url、web_link、 web_image、web_submit_form来录制这些动作。VuGen仅仅录制返回HTML页面的请求,不处理脚本和应用程序。HTTP级别 --VuGen把所有的请求录制为web_url指令,不生成web_link、web_image、web_submit_form这些函数。这种方法 更为灵活,但是生成的脚本不够直观。

9. Body:请求体。不同的应用中,请求体分别通过Body、BodyBinary或者BodyUnicode

参数来传递。请求体可以只使用其中一个参数,也可以使用一连串的分开的参数组成多请求体。

web_submmit_data

web_submit_data函数处理无状态或者上下文无关的表单提交。它用来生成表单的GET或POST请求,这些请求与Form自动生成的请求是一样的。发送这些请求时不需要表单上下文。 例:

web_submit_data(\

\\\

\

\\\ITEMDATA,

\\

\

16/ 33