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

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

1. 获取证书

1.1 通过ie浏览器访问https:  

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

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

图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

图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如下图:


图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

LoadRunner系列之—-04 录制基于https协议的脚本的更多相关文章

  1. 四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享

    一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现-- ...

  2. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)

    一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...

  3. 如何抓取基于https协议的webservice数据包

    方法一:基于Fiddler2等第三方工具(需要在Java端禁用SSL安全检查) 原文拷贝自http://blog.csdn.net/zmxj/article/details/6327775,向原作者表 ...

  4. LoadRunner系列之—-03 用Java Vuser协议编写接口测试脚本

    待测试接口用java语言实现,且项目中调用该接口需要用专门的jar包.这种情况可以用Java Vuser协议实现接口调用脚本,类似java代码. 代码样例如下: /* * LoadRunner Jav ...

  5. 基于Https协议返回Jason字符串

    一:代码结构 二:框架结果: spring+springMvc+springJdbc 三:源代码 1:Ctrl 层 package com.todaytech.yth.gdsd.base.DataIn ...

  6. fiddler---Fiddler抓取https协议

    上一篇简单的介绍了Fiddler的使用方法和页面布局介绍,Fiddler默认抓取的是HTTP协议,现在的协议基本上都是基于HTTPS协议的,今天写一篇如何通过Fiddler抓取HTTPS协议 什么是H ...

  7. 【Loadrunner】使用LR录制HTTPS协议的三种方法

    使用LR录制HTTPS协议的三种方法 一.最简单的方法:浏览器配置打开浏览器,安装证书,配置完成后直接用http协议录制即可(配置完成的标识就是打开网页,不显示安全提示) 二.LR配置修改操作步骤如下 ...

  8. LoadRunner录制HTTPS协议脚本

    学习LoadRunner录制HTTPS协议脚本,其实是一个意外的收获.当我拿到要测试的URL时,我像以前的步骤一样录制脚本,但是录制结束后,发现并没有生成脚本,开始以为是LoadRunner的原因,我 ...

  9. LoadRunner系列之—-02 基于webservice协议的接口测试(脚本实例)

    Loadrunner 基于webservice协议的接口压力测试(脚本实例) 接口功能如下:请求接口,报文只有一个参数为证件号码:返回报文中,有证件号码是否能查到对应数据,查到几条数据. 思路:请求w ...

随机推荐

  1. 线程的start和run方法的区别

    回到这个问题,可以用源码的角度去回答,这样会让面试官对有更好的印象 ------>如果直接调用run方法的话,所执行的线程是main线程.调用start方法的话,会新建一个子线程,去执行run方 ...

  2. oracle插入多表(insert all/first)

    1.建测试表   CREATE TABLE EDW_INT   (     AGMT_NO         VARCHAR2(40 BYTE)             NOT NULL,     AG ...

  3. 整理几个牛人博客以及OJ

    Blogs 陈立杰(wjmzbmr):http://wjmzbmr.com/ 飘过的小牛:http://blog.csdn.net/niushuai666 王垠:http://www.yinwang. ...

  4. xfs文件系统修复

    1. 错误描述 启动CentOS7系统,发现进步了图形界面,并报如下错误: Error getting authority: Error initializing authority: Could n ...

  5. mysql 删除恢复

    一.模拟误删除数据表的恢复 1 二进制日志功能启用 vim /etc/my.cnf [mysqld] log-bin 2  完全备份 mysqldump -A -F --master-data=2 - ...

  6. tornado框架基础09-cookie和session

    01 cookie 在上节,我们简单了解了登录过程,但是很明显,每次都需要登录,但是在平常逛网站的只需要登录一次,那么网站是如何记录登录信息的呢? 有没有什么办法可以让浏览器记住登录信息,下次再次打开 ...

  7. 用spring annotation声明的bean,当打包在jar中时,无法被扫描到

    发现一个问题,十分蛋疼. 我们项目是由N个工程组成的,外围工程是web工程,内部的工程打包成jar,放入外围工程的WEB-INF/lib 内部的工程用到了spring的注解,例如@Service.@C ...

  8. Python列表的切片操作

    在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2.      默认取值步长为1,即每 ...

  9. linux命令1——基础

    Rm 删除命令 Rm [选项][文件] 删除一个文件或者目录 选项:r 递归的删除文件夹及其子文件,f 忽略不存在的文件(不提示) (2)rm删除目录下所有文件,但不删除目录 >>rm - ...

  10. 利用开源工具实现轻量级上网行为审计(来源ispublic.com)

    https://blog.csdn.net/cnbird2008/article/details/5875781