实际性能测试过程中,有些需录制脚本的页面或接口是基于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. spring注解开发-声明式事务(源码)

    1. 环境搭建与测试 1)导入相关依赖 数据源.数据库驱动.Spring-jdbc模块 <dependency> <groupId>org.springframework< ...

  2. opencv加载图片和视频

    一.加载图片: 1.先放一段最简单的加载图片的代码 import cv2 as cv #引用opencv库image = "D:/Image/test.jpg" #确定图片所在路径 ...

  3. CF550 DIV3

    A - Diverse Strings CodeForces - 1144A A string is called diverse if it contains consecutive (adjace ...

  4. 小程序之Button组件,函数的调用与简单的逻辑

    我们要实现一个简单的功能,在界面上放置一张图片,设置重新加载按钮,能更新图片. WXML代码: <!--index.wxml--> <view clas="index&qu ...

  5. PHP中的正则

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串. j简单的说就是通过一些规定的符号和字符组合成的一种语法规则 其实,只有了解一种语言的正则使用 ...

  6. ssh服务使用介绍二

    老司机开车了 快上车 上文提到当我们使用ssh远程链接主机的时候,会出现询问的提示,如果我们链接的机器多了,一遍一遍的输入是不是很麻烦?怎么解决如下 vim /etc/ssh/ssh_config 如 ...

  7. ubuntu14.04 RockMongo的配置

    安装php5 安装php5     sudo apt-get install php5 让Apache支持php      sudo apt-get install libapache2-mod-ph ...

  8. SV学习之interface

    普通的模块使用法:注意我们这里只实现了部分功能....不是完全的读写模块....     module mem_core(   input logic wen,  input logic ren,   ...

  9. 条款3:尽可能使用const(use const whenever possible)

    1.只要这(某值保持不变)是事实,就应该确实说出来,这样可以获得编译器的协助,确保这条约束不被违反. 2.keyword const 有很多种用法,但都简单易用. 2.1classes 外部修饰glo ...

  10. tiny4412u-boot烧写及根文件系统制作(不进入终端问题)

    http://m.blog.csdn.net/article/details?id=51400196(转) VMware12 环境:ubuntu12.4 开发板:tiny4412 首先烧写bootlo ...