LR11录制回放HTTPS时的问题

背景:使用LoadRunner11录制HTTPS网页,测试性能

环境:LoadRunner11 Patch4 + Win7 + Firefox45

问题:录制时,出现启动了浏览器但地址栏无URL,页面空白;或者能打开页面但无event的情况。

目录

目录

1. 浏览器证书

1)安装证书

2)在IE中导入证书

2. LR配置

3.浏览器配置参数的修改

4.更改nginx的加密算法

5.回放出错

6.脚本添加函数web_set_certificate_ex()

补充

1.录制时只能打开部分页面

2.第一次能录制成功,后面又录制不成功

3. nginz中的限流配置

4. 超出上述限制后,服务器端的响应配置



1. 浏览器证书

1)安装证书

这里有两种方式。一,直接找开发获取证书;二,通过Firefox登录系统,系统会自动提示证书问题。选择添加信任或者安装证书。

然后,如下图所示,点击这个图标:

在页面信息-》安全-》查看证书-》详细信息-》导出。自动导出为.cert格式

ps:上述的Firefox是与lr11配合使用的45版本。最新版本的Firefox界面有所不同,且可以直接导出.pem格式文件。

2)在IE中导入证书

在IE工具-》Internet选项-》内容-》证书-》导入,选择上一步导出的证书,并且安装在“受信任的根证书颁发机构”中。

这里可以参考其他作者的配置方法:

https://blog.csdn.net/misschen906880249/article/details/53811691

https://www.cnblogs.com/baihuitestsoftware/articles/5580220.html

https://www.cnblogs.com/mxqh2016/p/7145109.html?utm_source=itdadao&utm_medium=referral

https://jingyan.baidu.com/article/0eb457e5d0f58b03f1a905b4.html

2. LR配置

在Tools-》Recording Options中,

1)选择Capture level:Socket level and WinlNet level data

2)选择New Entry,设置socket和导入证书:

3.浏览器配置参数的修改

按照前面的步骤配置好后,可能会出现。启动Firefox,只能显示首页地址的情况;也有一种是报错:建立安全连接失败。收到一个XXX弱临时秘钥。解决方案,参考:https://www.cnblogs.com/liuzhengliang/p/5786067.html。这里需要对浏览器的一些参数重新设置。

在地址栏里输入 about:config,回车

修改值为false:

security.ssl3.dhe_rsa_aes_128_sha    (经过测试,这条记录修改成flase即可访问)
security.ssl3.dhe_rsa_aes_256_sha

新建值为 false:
security.ssl3.dhe_dss_aes_128_sha
security.ssl3.dhe_rsa_des_ede3_sha

4.更改nginx的加密算法

按照上面说的安装了证书以后,也无法录制。并且报错:SSL handshake with remote server failed.

分析:协议中是保存了一些加密算法。客户端提供一些允许的加密算法,服务器端也有自己允许的加密算法。二者取交集则双方可以通信。这里在nginx中查看加密算法的配置,发现少了一些加密算法。

1). 进入nginx所在容器: # kubectl exec -it nginx-rc-nr7nx sh

2). 编辑nginx的配置文件: # vi /etc/nginx/nginx.conf

3). 增加加密算法:ssl_ciphers RC4:HIGH:!aNULL:!MD5  (这里增加的是RC4)

4). 在容器中重启nginx:# nginx -s reload

5.回放出错

回放时,会出现错误(Error -27780: [GENERAL_MSG_CAT_SSL_ERROR] connect to host ...),需要做如下配置:在Vuser--> Run-time Settings,勾选下面红线所示选项。这里可以参考另一篇文中的解决方案LR中错误码集合

6.脚本添加函数web_set_certificate_ex()

web_set_certificate_ex("CertFilePath={证书名称}.pem",

                "CertFormat=PEM",

                "KeyFilePath={证书完整路径}\{证书名称}.pem",

                "KeyFormat=PEM",

                "Password=123456",

                "CertIndex=1",

                LAST);

 

补充

1.录制时只能打开部分页面

录制过程中,将需要录制页面的url手动copy到浏览器地址栏中,造成页面的跳转。

2.第一次能录制成功,后面又录制不成功

在Firefox-》选项-》高级-》网络,清除“网络内容缓存”和“离线Web内容和用户数据”。

3. nginz中的限流配置

limit_req_zone $binary_remote_addr zone-xxxapi:10m rate=10r/s;    # 限流处理。每秒10个请求

4. 超出上述限制后,服务器端的响应配置

 loation /api/ {

    limit_req zone=xxxapi burst=20 nodelay;

    limit_req_status 599;

    proxy_pass http://zhuanxiangdewebsite;

    error_page 404 /404;

}

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 在使用https协议不管是服务器端还是客户端都需要使用到ca证书来进行访问。 一般来说,性能测试为所常见的为客户端使用https打开页面的方式。 在这个情况下,首先是处理https访问过程中的证书 1. 证书的准备 常见的证书为:*.pfx格式,该种格式的证书可以通过双击运行安装到IE浏览器上。用户在访问的候就可以使用到。 但这种证书并不是LoadRunner所使用的类型,因此需要对其进行转换。将其转换为*.pem格式。 转换方法如下:  安装openssl后  运行C:\<OpenSSL>/bin文件夹的openssl二进制文件,它将启动OpenSSL命令提示符  执行以下命令:pkcs12 -in D:\test1.pfx -out D:\test01.pem –nodes  执行后,将会在指定目录生成test01.pem文件,这个文件将会在下一个步骤,对LoadRunner进行配置的候使用到。 2.LR配置 启动LoadRunner,打开Recording Option选项。 留意红色框中的选项。 选择后,单击New Enty 红框中的配置为服务器的ip和端口号,按照测试所需要的实际地址进行配置就可以 配置后,将Use specified client-side certificate[Base64/PEM]钩选,为使用客户端证书访问。 单击...选择刚刚转换生成的客户端证书。 如果你为证书有设置密码,在这里也需要输入。 到此为止所有与http区别的配置就完成了。 录制后,可以在脚本的开始,看到LoadRunner新生成的语句 web_set_certificate_ex("CertFilePath=test01.pem", "CertFormat=PEM", "KeyFilePath=test01.pem", "KeyFormat=PEM", "Password=123456", "CertIndex=1", LAST); 下面的操作和普通的页面性能测试一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值