通常我们用LoadRunner VUGen录制脚本时,都是在LR的安装机器调用本机上被测软件的客户端,通过监控客户端与服务器的通信并生成相应的测试脚本,这是最普遍的一种用法,一般情况下也都能满足测试需要。但有时被测系统的客户端并不一定安装在LR的测试机上,如果LR能作为第三方录制另外两台机器的通信,那将应用的更加灵活。另外我们当前用的LR大部分都是Windows版本,如果被测系统的客户端和服务器都是Linux/Unix上,按照通常的用法是无法实现脚本录制的,除非我们有该平台下的LR版本,但通过LRPort Mapping功能理论上来说也可以实现脚本的录制(这个还没有尝试过,只是觉得可以)。

至于录制过程的设置就比较简单了,以下针对LR 8.1脚本进行说明。

 

配置

WebHTTP/HTML)协议为例,采用“Win32 Applications”方式,并指定录制对象为“D:\Program Files\MI\LoadRunner\bin\wplus_init_wsock.exe”,然后在Recording OptionsNetworkPort Mapping中新建项,并配置目标服务器、端口、服务ID等,然后在“Traffic Forwarding”中选中“Allow forwarding to target server from local port”并填写一个没有被用到的端口(如1234),点击OK后就可以录制了,这时会启动一个你配置的侦听端口。

 

录制

录制时就不是在本机直接访问服务器了,而是在另外的机器上通过被测系统的客户端连接到LR启动录制的机器名再加上侦听的端口,通过LR的中转站再连接到真正的服务器上。

 

更详细的说明文档可以参考17testing论坛上wily写的《LoadRunner的一种特殊的录制脚本方法介绍.pdf

 

其它

1、 录制完成后记得要把ProxyServer手动关闭,否则端口仍继续使用,再次录制时将会出现端口占用的情况。

2、 以上操作在LR8.1上可以正常录制,但在LR8.0,被测客户端无法通过Traffic Forwarding访问到真正的服务器,原因未知。

3、 当配置了两个以上的不同的地址映射时,如果第一个disable,第二个enable,但真正启动的侦听端口还是第一个的,好像是Bug。我当时的做法是第一个是Pop3映射,第二个是Http服务映射,只激活了第二个。结果web无法正常连接,反而邮件可以正常接收,试了多次都是这样。