随着公司的发展,公司原有的SVN服务器存放的内容不断增加,容量已经不能满足后续需求,首先我们想到对服务器进行扩容,然而因为各种原因服务器不能进行扩容,所以公司决定更换新的SVN服务器,在做数据迁移和环境部署之前我们需要对服务器进行一次性能测试,了解部署后的服务器性能,测试过程中需要对https的网页进行性能测试。

我们可以用loadrunner录制http网页,但是当录制https网页的时候会发现证书错误不能录制以及其他方面的问题,这时要考虑loadrunner能否录制https的脚本,查阅资料后发现Loadrunner完全可以录制https的脚本,和录制http网页多了一些步骤,主要是添加证书,协议两个方面。以下是本次性能测试过程中对https脚本录制的一些总结。

一、获取证书

 

HTTP协议传输的数据都是未加密的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。因此涉及到重要信息好多使用https链接。

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。本次测试就会提示证书不可信是否继续访问界面。

证书获取可以让开发提供或者自己获取,自己获取首先先访问需要测试的地址,然后从浏览器中将证书导出,导出格式默认.cer文件,需要转换为loadrunner识别的.pem模式(直接修改后缀名把.cer为.pem可以使用,大家可以尝试修改),其他转换方法大家可以找度娘帮助解决。

IE浏览器获取方法:

Inetenet选项--内容--证书--找到相应证书并导出

二、证书导入

 

把从浏览器或者开发那里得到的证书导入到loadrunner,然后对录制的地址和端口号协议等进行配置。

1、进入配置界面

以下是两种进入配置界面的方法:

新建录制:Start Recording---Options---PortMapping

或者Tools--Recording Options打开设置界面

打开的界面如下图所示。

2、Capture level选择

Capture Level默认选中的为Socketlevel data,而关于Capture Level这个选择loadrunner有以下一段解释,不同浏览器录制时选择类型不同。使用IE浏览器时本次脚本需要选择WinlNet level data。火狐浏览器选择了第三种,不选择第三种录制内容都是空白,脚本不能录制。

a、Socket leveldata. 
Capture data using trapping on the socket level only. Port mappings apply inthis case (default).

b、WinINetlevel data. 
Capture data using hooks on the WinINet.dll API used by certain HTTPapplications. The most common application that uses these hooks is InternetExplorer. Port mappings are not relevant for this level.

c、Socket leveland WinINet level data. 
Captures data using both mechanisms. WinINet level sends information forapplications that use WinINet.dll. Socket level sends data only if itdetermines that it did not originate from WinINet.dll. Port mapping applies todata that did not originate from WinINet.dll.

3、内容配置

 

点击New Entry新增,以下是具体内容:

TargetServer:设置地址svn.qwerty.com也可以是IP例如192.168.0.1

Port:端口号 例如1234

ConnectionType:选择SSL

主要注意SSL configuration里面的几项选择,SSL verison 里面包括ssl协议, 以及TLS协议,这里你录制的是什么协议就选择什么协议,最后选项导入证书,把我们下载得到的证书导入到loadrunner,点击选择导入的证书导入即可。

4、打开run-timesettings>preferences (根据需要)

1、使用IE浏览器进行录制

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

配置完成后进行脚本录制,用loadrunner录制脚本时发现这次https脚本可以录制,但是未录制到用户名和密码,所以回放不成功,脚本需要更改这时我们需要添加web_set_user函数,这个函数可以让我们输入账号验证信息。

web_set_user("useradmin",

lr_decrypt("password"),

//明文密码,下面是loadrunner录制的密码,两种密码都可以使用

//lr_decrypt("591e5543c21012e4f3d92abc206d91"),

"svn.qwerty.com:123456");//地址和端口号

以下是IE录制的脚本

添加web_set_user函数,可以正常回放并且能跑通,解决不能录制到用户信息问题。

2、火狐浏览器录制

火狐浏览器能录制到登录信息,缺少协议类型,我们需要添加一个协议类型的函数脚本就可以跑通,

web_set_sockets_option("SSL_VERSION","TLS");

//作用是增加使用协议具体的类型,使脚本能够正常运行。

Loadrunner录制https脚本的更多相关文章

  1. LoadRunner录制HTTPS协议脚本

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

  2. 使用loadrunner录制手机脚本

    1.安装loadrunner补丁包4: 2.安装了loadrunner的PC端上面创建WiFi热点,将手机接入该WiFi: 3.然后打开loadrunner,选择录制协议为手机的协议: 4.弹窗中选择 ...

  3. LoadRunner录制回放脚本RecContentType=application/json报错

    今天做一个新项目,项目系统的框架是用SSH,特意查看了一下项目源码,用的ajax提交比较多,主要的问题是该系统对IE(8~10)浏览器都不兼容,无法进行录制. 是问题,总有解决的办法! 我本机为Loa ...

  4. Loadrunner回放https脚本时出现错误Error -27780 Connection reset by peer解决办法

    录制好的https协议的web脚本,在脚本回放时会出现Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "......&quo ...

  5. LoadRunner录制:脚本调试

    优化思路 1. 先录制 2. 然后进行清理.清理掉多余的cookie.lr_think_time等冗余脚本. 3. 调试脚本,让脚本可以跑通过. 4. 逐步优化添加 调试思路 1. 单用户单迭代 录制 ...

  6. loadrunner支持https协议的操作方法-经验总结

    问题:用户portal支持https协议,用loadrunner录制登陆脚本时发现未录制到用户名和密码 录制到的脚本如下: login() { lr_think_time(10); web_url(& ...

  7. Loadrunner进行HTTPS协议性能测试

    1.最简单办法就是在脚本前面加上:web_set_sockets_option("SSL_VERSION","TLS"),一般能解决HTTPS协议的请求问题,无 ...

  8. Loadrunner对https协议(单双向SSL)的web端性能测试

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

  9. 使用loadrunner对https协议(单双向SSL)的web端性能测试 (转)

    1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务 ...

随机推荐

  1. C# readonly与const区别

    静态常量:是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值. 动态常量的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明 ...

  2. MySql 查询表结构信息

    select Column_name as 列名,is_nullable as 是否可为空,data_type as 数据类型,column_default as 默认值,case when colu ...

  3. 不校验csrf

    from django.views.decorators.csrf import csrf_exempt@csrf_exemptdef a(request): pass

  4. sql取整数

    [四舍五入取整]select round(1.1,0) 执行结果为1: [向下取整]select floor(1.1) 执行结果为2: [向上取整] select ceiling(1.1) 执行结果为 ...

  5. WinForm 设置窗体启动位置在活动屏幕右下角

    WinForm 设置窗体启动位置在活动屏幕右下角 在多屏幕环境下, 默认使用鼠标所在的屏幕 1. 设置窗体的 StartPosition 为 FormStartPosition.Manual. 2. ...

  6. shell脚本中如何插入其它脚本?

    答: 示例如下: #!/bin/sh . added.sh #include other script echo "hello"

  7. java解压多层目录中多个压缩文件和处理压缩文件中有内层目录的情况

    代码: package com.xiaobai; import java.io.File; import java.io.FileOutputStream; import java.io.IOExce ...

  8. 比原链(Bytom)先知节点 Windows接入文档

    系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...

  9. 调用list(itertools.combinations(keys,3))出现MemoryError的解决办法

    在python3.6中,如下例子: keys = list(newKeywords.keys()) resultkeys = list(itertools.combinations(keys,3)) ...

  10. Antd-Pro2.0版本如何修改代理,让Mock变为真实服务器接口

    Antd-pro2.0之前更改代理方式 更改.roadhogrc.mock.js export default { 'GET /api/*': 'http://localhost:8001/', 'P ...