随着公司的发展,公司原有的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. 重写用户模型时报错AttributeError: type object ‘自定义类’ has no attribute ‘USERNAME_FIELD’

    view中导入:from django.contrib.auth.models import AbstractBaseUser settings.py中设置了:AUTH_USER_MODEL='app ...

  2. 【题解】Luogu P4121 [WC2005]双面棋盘

    原题传送门 这道题肥肠毒瘤qwqwq,我被卡了qwqwq 这题的正解好像是线段树+并查集,但由于我人丑常数大被卡成了70 #include <bits/stdc++.h> #define ...

  3. 面向复杂应用,Node.js中的IoC容器 -- Rockerjs/core

    Rockerjs Core 项目地址 项目主页 基于 TypeScript 和注解的轻量级IoC容器,提供了依赖注入.面向切面编程及异常处理等功能.Rockerjs Core可在任意工程中引入,是一个 ...

  4. kubernetes版本融合解决方案

    kubernetes版本融合背景 在kubernetes 1.6版本的基础上进行了深度的定制.而且该版本已经相当稳定.但是随着kubernetes版本迭代,后期使用的如service mesh/kub ...

  5. mysql 删除重复数据

    1在日常使用mysql中 前端页面点击次数过多 mysql就会容易产生冗余数据,那这些数据该怎么删除呢 说下思路 查询重复字段id 查询重复字段最小id 删除重复字段ID 保留最小ID 查询重复记录这 ...

  6. django url 反响解析,视图

    1. 内容回顾 1. 模板语言(字符串替换) 1. 母版和继承 1. 什么时候用母版? html页面有重复的代码,把它们提取出来放到一个单独的html文件. (比如:导航条和左侧菜单) 2. 子页面如 ...

  7. pycharm使用selenium之前

    2.python安装好后,查看你的pycharm输出控制台,第一行就写了你所使用的python.exe的路径,如下图箭头处所示: 检查python使用的是不是你刚刚安装的,如果不是,换成你刚刚安装的p ...

  8. eclipse 下修改Dynamic Web Modulle 的问题

    上图右侧圈中位置  有提示对应jdk版本. 若在eclipse修改Dynamic Web Modulle 为3.0失败,可以去项目工作空间文件中的.seting文件下修改: 上图对应的 <ins ...

  9. wireshark基础学习—第四部分wireshark过滤器总结

    这两天一直在熟悉wireshark的过滤器语法规则,以前也接触过这个工具,但只是学校老师教的如何去选择一个接口进行抓取,以及如何去分析一个包的数据.可惜当时对此也没有过多深入.对于我当前,并未接触太多 ...

  10. TCGA样本命名详解

    在TCGA中,一个患者可能会对应多个样本,如TCGA-A6-6650可以得到3个样本数据: TCGA-A6-6650-01A-11R-1774-07TCGA-A6-6650-01A-11R-A278- ...