栏目导航

劣化压测剧本( loadrunner+python)柒零头条资讯

发布日期:2017-12-02

使用python剧本合营loadrunner做发布进造数据压测配景

年夜局部的压测需要,效劳端处理处分的皆是url参数或者post body中的表单内容,至多是剖析json处置奖奖json内容,如许的需供做起压测来比较简略,只要要参数化url中的参数或者表单中的值就可以了,然而跟着办事端逻辑愈来愈庞杂、对性能和保险性的请求愈来愈高,如许简单的接心已满意不了咱们的需求了,把post body进行加密或者用复纯的传输协定来做数据交流的需求越来越多,那末这种数据我们若何参数化某个字段来完成压测呢?上面来讲一下我的思绪:

可止性计划

1、由于loadrunner支撑c说话,以是第一种圆案能够间接使用明文参数化postbody,经过进程c言语编写减稀方式,没有曲接应用明文的参数化式样(过错舛误是c说话的第三方库较少,实现一些基础功效比拟费事) 
2、使用别的下级语行经由过程多过程+多线程的体式格局完成压测对象:比方使用python丰盛的第三方库姿势,完成对付post内容的加密,使用多进程或许多线程的款式格式进行打压(这类方法有两个错误谬误:一是高等语言的机能比较好可能达不到挨压的后果,二是离开的loadrunner,成果的搜集跟讲演展现须要本人去完成) 
3、剖析下面两种方法的劣毛病谬误,推测了方法三:使用python将明文数据处理成二进制数据,再经由过程loadrunner使用曾经处理好的二进制数据做为参数化内容禁止压测;

详细办法

前调研一下loadrunner是否直接使用二进制造为参数呢?谜底是:可以。 
经由过程webcustomrequest的BodyBinary参数便可能指定二进制数据作为postbody内容;


怎样获得二进制字符串

1、使用python加密(或道制作)恳求并post到测试办事器进行考证;

2、将密文转成loadrunner收持的二进制(果为大师必定跟我一样,名目义务比较多所以就不时光和阅历把这个方法写的更文雅,假如人人有更美丽的方法,请实时留言,如果方法可用,亚美娱乐,我公费给各人收个小白包)

3、到那里用于参数化的文明就ok了,下一步就是往loadrunner里完成剧本;