实际性能测试过程中,有些需录制脚本的页面或接口是基于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. 监控java进程是否正常运行

    @echo off set _task=java.exe :checkstart for /f "tokens=1" %%n in ('tasklist ^| find " ...

  2. laravel 框架发送邮件

    http://www.jb51.net/article/121647.htm https://www.cnblogs.com/yxhblogs/p/5998463.html http://www.ji ...

  3. Django中的Cookie、Session、Token

    Cookie : 指望着为了辨别用户身份.进行会话跟踪而存储在用户本地的数据(通常经过加密),是由服务端生成,发送给客户端浏览器,浏览器会将Cookie以key/value保存,下一请求同一网站是就发 ...

  4. 剑指Offer(书):斐波那契数列

    题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 分析:第一种方法:递归,45时,时间为5s,50时,我就等不及了.原因是重 ...

  5. 剑指Offer(书):替换空格

    题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析:通常来说,这样的题有两种方式 ...

  6. 电源模块PCB设计

    电源模块的PCB设计 电源电路是一个电子产品的重要组成部分,电源电路设计的好坏,直接牵连产品性能的好坏.我们电子产品的电源电路主要有线性电源和高频开关电源.从理论上讲,线性电源是用户需要多少电流,输入 ...

  7. 对于easyui $.messager.alert和 $.messager.confirm 不同浏览器中位置控制

    $.messager.confirm({ title: '种子购买', msg: '确定购买这个'+seedName+'的种子嘛?', top:, fn: function (r) { if (r){ ...

  8. IntrospectorCleanupListener监听器防止内存溢出

    <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</ ...

  9. 【java 理论篇 2】J2EE的13种规范

    导读:看完了J2EE的视频,没有什么技术实践,现在就从理论上说明一下J2EE的13种规范,以及现在的自己对它的一个理解.可能会有偏差,但是,算是做为目前的一个记录. 一.13种规范 1.1.JDBC( ...

  10. c# 类如何生成dll文件及引用

    1.打开“工具”菜单下的“外部工具”子菜单: 2.点击“添加按钮,增加一个菜单,菜单内容填写如下: 注意参数那里为:/k "C:\vs2010\VC\vcvarsall.bat" ...