LoadRunner系列之—-04 录制基于https协议的脚本

  实际性能测试过程中,有些需录制脚本的页面或接口是基于https协议的,按原来方法录制脚本,录完了脚本是空的。为解决这个问题,第一步了解https协议的具体实现,这块网上资料很多,可参考页面下方参考资料中链接;第二步实践。

  如下为具体操作步骤如下:

1. 获取证书

1.1 通过ie浏览器访问https:  

1.1.1 点击右上角黄色的锁或者在工具选项查找安全证书,选详细信息标签后,把安全证书复制到文件;

1.1.2 按照对话框中提示信息,输入要保存的名称保存到所选路径下!具体如图:

LoadRunner系列之—-04 录制基于https协议的脚本

图1.保存安全证书

1.2 用openssl实现私钥和证书的格式转换

LR的安装目录下,包含OpenSSL的工具。路径如下:... HP\LoadRunner\bin

openssl 详细使用参考

CER/DER--PEM(编码DER--BASE64)
x509 -inform der -in C:\Users\nan\Documents\baidu.cer -out certificate.pem

LoadRunner系列之—-04 录制基于https协议的脚本

图3.执行openssl命令

2. LoadRunner Recording Option 设置

2.1 Network:Port Mapping设置

options->netword下的port mapping,设置为winnet level data,或者Socket level and WinNet level Data

2.2 Network:Port Mapping中增加一个Server Entry

LoadRunner,选择:Web (HTTP/HTML)协议录制,添加url,打开option选项在NetWork选项中新添加一个Entry如下图:

LoadRunner系列之—-04 录制基于https协议的脚本
图2.Server Entry 设置

注释1:如需指定某台服务器,可以在Target Server中输入ip,否则可以为默认值Any Server;
注释2:SSL verison 里面包括ssl协议的 以及TLS协议,一般情况下默认;
注释3:Use specified client-side dertificate (64-PEM)选择下载好的客户端证书,LoadRunner目前支持crt、pem,设置完成后点update;
注释4:Password用于设置安全证书的密码。

2.3 使用IE浏览器进行录制

将winlnetreplay instead of scokets(windows noly) 打勾(设置这一项则数字证书在浏览器中获取);如果参数化数字证书,则此项不用打勾。默认情况下我们的脚本是通过sockets端口方式进行回放的,某些情况下这种回放会被服务器拒绝,这时可以换用winlnet的引擎来回放脚本。

Ie浏览器也是基于winlnet引擎的,所以兼容性比较好一点,其他浏览器可能是socket。

2.4 回放脚本时报错

问题:主要报错是ssl隧道的问题:SSL protocol error

解决方法:需要设置Run-Time settings -> Preferences -> Advanced , 勾选上 WinInet replay instead of Sockets (Windows only) 。

3、 录制时存在的问题解决

在录制初始,弹出第一个问题“Internet Explorer cannot display the webpage”类似,这主要是因为支持长度不对,具体原理不再描述只说解决方案

问题解决如下(Windows 7):执行:cmd

然后执行命令:certutil -setreg chain\minRSAPubKeyBitLength 512重启电脑,问题解决

-------------------------------其他问题------------------------------

1. 如何录制双向SSL脚本?

由于LR的机制是利用LR模拟浏览器与服务器进行交互,所以证书需要安装在IE浏览器里。

2. 参考资料

https原理:证书传递、验证和数据加密、解密过程解析 - http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html

上一篇:demo


下一篇:从静态代理,jdk动态代理到cglib动态代理-一文搞懂代理模式