随着公司的发展,公司原有的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. python 包 笔记

    绝对导入和相对导入 我们的最顶级包glance是写给别人用的,然后在glance包内部也会有彼此之间互相导入的需求,这时候就有绝对导入和相对导入两种方式: 绝对导入:以glance作为起始 相对导入: ...

  2. Android5.0新特性之——按钮点击效果动画(涟漪效果)

    Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹 ...

  3. 移动web端在线观看ppt

    使用office online 移动端重定向地址,重定向地址生成方式(对ppt地址进行两次编码),代码如下.将代码中http://video.ch9.ms/build/2011/slides/TOOL ...

  4. 20175312 2018-2019-2 《Java程序设计》第7周学习总结

    20175312 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第八章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...

  5. Selenium常见问题

    1.使用python打开Chrome浏览器时,出现Chrome正受到自动测试软件的控制的提示 解决: 在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobars option = ...

  6. MapReduce实现PageRank算法(稀疏图法)

    前言 本文用Python编写代码,并通过hadoop streaming框架运行. 算法思想 下图是一个网络: 考虑转移矩阵是一个很多的稀疏矩阵,我们可以用稀疏矩阵的形式表示,我们把web图中的每一个 ...

  7. 剑指offer:反转链表

    问题描述 输入一个链表,反转链表后,输出新链表的表头. c++代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int ...

  8. scipy插值与拟合

    原文链接:https://zhuanlan.zhihu.com/p/28149195 1.最小二乘拟合 实例1 import numpy as np import matplotlib.pyplot ...

  9. struts.xml,报错 1 c.opensymphony.xwork2.util.DomHelper

    ERROR c.opensymphony.xwork2.util.DomHelper - The content of element type "action" must mat ...

  10. String 、Stringbuilder和StringBuffer的区别

    JAVA平台提供了三个类:String.StringBuilder和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个S ...