LR访问Https接口

实操篇

第一步:须要跟开发或者运维要到要访问的https接口的证书(有关证书的问题咱们在原理中有解释)。web

第二步:肯定要来的证书的格式是否为pem格式的。首先,LR只可以识别pem格式的证书并且是DER类型的pem格式的证书。其次,若是要来的证书为非pem格式的则须要进行证书格式的转换。(见第三步)windows

第三步:对crt格式证书进行DER类型的pem格式的证书转化。安全

解决办法:服务器

一、  先从ie将crt证书安装到本机,而后再以cer格式导出证书网络

 

二、  Linux系统下执行命令:openssl x509 -in 文件名称.cer -inform der -outform pem -out 文件名称.pem
app

三、  若是是windows系统下须要安装openssl,Linux系统下直接执行便可。运维

第四步:在LR下配置证书函数

解决办法:post

一、  在Edit Recording Options(录制设置)中配置Port Mapping测试

注释1:这块若是有须要指定某台服务器能够输入ip,若是像咱们公司是作海外产品且服务器部署在海外且ip访问无效的状况下能够选择Any Ssever

注释2:端口号必须为433,常识啊。http默认为80,https默认为443

注释3:http和https的区别就在这,原理会讲在这里能够一套雾水照着配置哦。

注释4:SSL Version一定选择截图,不要问我为何,Tseng先生查遍官方文档也没找到因此然,对于哥这么“刨根问底”的人而言很痛苦但是这么配置确定没错。固然这个问题后续我会继续研究。

注释5:很明显嘛,就不用解释太多了,请选择你转化好的DER类型的PEM格式的证书的路径。

注释6:这个问题会很突出。为啥还有密码?密码是为了干吗?尼妹的没有密码怎么办?没有就不填呗。有密码就要来填上呗,反正当时我挺纠结。尼玛还要登陆是咋滴!固然原理中仍是会介绍滴。

二、  配置完毕固然是Update难道会是Cancel么?原谅我手欠的人才这么干!

三、  做为攻城狮配置完毕是否是应该规范的检查一遍?不然你怎么舍得叫攻城狮呢?

PS:做为号称当年玩烂LR的攻城狮我汗颜的是以前居然把配置证书这步当成了录制必备,换句话说我误觉得用web_set_certificate_ex();写在请求前就算完成了证书匹配的过程,坑爹啊网上的技术文章不可信啊!说话还要看语境呢!你写这些误导谁呀?对,都是他们的错。呵呵~~下面附该函数的具体使用格式,反正每一个参数官方帮助写的跟没写同样,我猜都猜出来了。声明下真正生效的是按照上面的配置方法,在这里你就认为我炫技吧,这个函数惟一的用处就是录制后会出现,目前我是这么理解的反正我也不知道对不对:

web_set_certificate_ex("CertFilePath=mobimagic.pem",

                "CertFormat=PEM",

                "KeyFilePath=mobimagic.pem",

                "KeyFormat=PEM",

                "Password=123456",

                "CertIndex=1",

                LAST);

官方解释:

第五步:证书都配置完毕了,那就是写请求呗。别告诉get和post都分不清楚。反正get和post请求就那么几个函数。web_link();web_url();web_submit_data();web_submit_form();一堆一堆的,我就是想炫耀知识渊博,其实跟高手比仍是个战五渣。这里想提醒的是,若是你的post请求写在body里了还特么加密了咋整?这些请求函数都很差使,换web_custom_request();吧。

第六步:神圣的时刻,F5运行下

第七步:诶呦?你觉得这就结束了?这就was successful了?若是你运气很差会碰到报错。

解决办法:

    到Run-time Setting(运行设置)中将图内的选项勾选,这个选项从网上查到的解释是“VuGen专用的基于套接字的重播是一种可伸缩以便进行负载测试的轻型引擎。使用线程时是准确的。基于套接字的引擎不支持socks代理服务器。若是在这样的环境中录制,应该使用winInet重播引擎。”可是至于为何这么用做为下一个课题进行研究。


 

第八步:此刻你会惊喜万事大吉么?NO!你觉得LR是有多智能?他说was successful就successful了?做为攻城狮责任必定要到底!你固然须要到服务端查看下你发的请求的状态码是否是200?传送body里是否有内容?返回是否是正确的了?

 

 

看到了么?windows的机器的请求,这就够了。另外,做为攻城狮是否是要发散下?为了模拟正常的用户行为咱们是否是访问这个接口会有N多种机器型号?肿么办?用web_add_header();进行参数化呗,你想要什么header就出什么header

                                                                                                       至此,实操篇结束。

   题外话:以上只是真正作压测的第一步,至于如何进行完整的压测,怎么设置压力机?如何设置监控指标?设置哪些监控指标?监控目标应该是啥?如何进行场景鸡舍?如何进行数据分析?不一样的数据之间有什么联系?每一个指标表明了什么?等等等等,太多了,后续我会继续写文章,包括技术的周边。



理论篇

小注:

每次说到原理、理论都是你们特别反感的缘由是这些东西很枯燥,可是高中哲学的惟物主义辩证法中有这么个原理和方法论就是实践与认知的辩证关系。其中里面说的很清楚,实践是认识的基础。实践是认识的来源;实践是认识发展的动力;实践是检验认识真理性的惟一标准;实践是认识的目的和归宿。认识对实践具备副作用。其实概括下就一点理论是实践的升华。

 

说到https必然要先了解到https是个什么?他和很像的http有啥关系?那http是啥?我以为,理论的东西大漫天且研究论证的过程很艰辛这些交给科学家就好咱们不必去了解那么深只须要知道大致是怎么回事怎么应用就好。其实,简单说来HTTP协议传输的数据都是未加密的,所以使用HTTP协议传输隐私信息很是不安全。为了保证这些隐私数据能加密传输,因而网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。所以将原来的http换成了https连接。

那么问题来了,实操中说到证书和上边介绍的加密有啥关系呢?答案是,https属于非对称加密,须要公钥和私钥才能彻底获得想要的数据,换句说公钥能够进行访问,私钥至关于能够造数据,换成普通话说想要知道https怎样加解密须要两把钥匙一把是公钥一把是私钥,这两把钥匙是各司其职。接下来就会有个问题,https的工做流程是如何进行的?我估计这个问题你网上一搜一大把,可是纯理论不接地气,我想说的是以往的http请求无需身份验证就能够直接作请求来者不拒,可是https至关于在作请求前先要进行一下身份验证,这个验证就须要到公钥有的公司为了更安全可能设置了密码,因此大致的请求交互流程就是身份验证经过后进行请求。从代码流程上就要分身份验证和请求两块,也就是说要将获取到的证书先进行配置在进行验证最后执行请求函数。固然,这里说的简单些,缘由是基于LR进行的脚本输出。

相关文章
相关标签/搜索