优化压测脚本( loadrunner+python)

作者:超级管理员 更新时间:2017-09-13 13:57:01 来源:未知 点击:15642
  使用python脚本配合loadrunner做二进制数据压测  背景  大部分的压测需求,服务端处理的都是url参数或者postbody中的表单内容,最多是解析json处理json内容,这样的需求
  使用python脚本配合loadrunner做二进制数据压测
   背景
  大部分的压测需求,服务端处理的都是url参数或者post body中的表单内容,最多是解析json处理json内容,这样的需求做起压测来比较简单,只需要参数化url中的参数或者表单中的值就可以了,但是随着服务端逻辑越来越复杂、对性能和安全性的要求越来越高,这样简单的接口已经满足不了我们的需求了,把post body进行加密或者用复杂的传输协议来做数据交换的需求越来越多,那么这种数据我们如何参数化某个字段来完成压测呢?下面来说一下我的思路:
   可行性方案
  1、因为loadrunner支持c语言,所以第一种方案可以直接使用明文参数化postbody,通过c语言编写加密方法,不直接使用明文的参数化内容(缺点是c语言的第三方库较少,完成一些基础功能比较麻烦) 
  2、使用其它高级语言通过多进程+多线程的方式完成压测工具:例如使用python丰富的第三方库资源,完成对post内容的加密,使用多进程或者多线程的方式进行打压(这种方法有两个缺点:一是高级语言的性能比较差可能达不到打压的效果,二是脱离的loadrunner,结果的收集和报告展示需要自己来完成) 
  3、分析上面两种方法的优缺点,想到了方法三:使用python将明文数据处理成二进制数据,再通过loadrunner使用已经处理好的二进制数据作为参数化内容进行压测;
   具体方法
  先调研一下loadrunner能否直接使用二进制作为参数呢?答案是:可以。 
  通过web_custom_request的BodyBinary参数就可以指定二进制数据作为postbody内容;
   怎么得到二进制字符串
  1、使用python加密(或者说制作)请求并post到 测试服务器进行验证;
  2、将密文转成loadrunner支持的二进制(因为大家一定跟我一样,项目任务比较多所以就没有时间和经历把这个方法写的更优雅,如果大家有更漂亮的方法,请及时留言,如果方法可用,我自费给大家发个小红包)
  3、到这里用于参数化的文件就ok了,下一步就是去loadrunner里完成脚本;

【推荐】Appium直播课早鸟价限时优惠,APP自动化的首选利器>>

推荐阅读

热门内容

优化压测脚本( loadrunner+p

  使用python脚本配合loadru...

一道有趣的BAT公司面试题:7只老鼠测试

  起源  今天,休息的时候同事虎哥给我...

安装包安全测试

  主要说明以下内容:  1、能否反编译...

功能测试大揭秘(2)—— Appium基

  上文回顾  上一篇为大家介绍了如何通...

iOS单元测试之XCTest详解

  前言:测试是一个好的App不可缺少的...

Android开源数据库 GreenDa

  GreenDao是一款对象关系映射(...

深入理解计算机系统(1.1)——Hell

  1、计算机系统  我们知道计算机系统...

基于.NET CORE微服务框架 -谈谈

  1、前言  对于最近surging更...

Google:防钓鱼工具让全球30亿台设

  Google宣布防钓鱼工具已经累计为...

难以避免的泄漏事故:怎么解?

  世界各地的企业都在担忧网络安全威胁问...

最新内容

将爱进行到底 苹果发布会直播果粉占半

    中关村在线消息:昨夜今晨不论科技圈还是朋友圈最火爆的恐怕没什么事儿能与苹...

金立新机来袭 这一点不输苹果iPhone X

    一年一度的“科技春晚”在9月13日凌晨拉开了序幕,苹果一口气为用户带来了...

iPhoneX真有腮红金 不过要等明年一月

    今天凌晨,万众瞩目的苹果iPhone X正式发布了。但与此前的传闻不同的...

苹果iPhoneX方言直播:广东人最爱天津话

    中关村在线消息:昨夜今晨科技圈儿最大的事儿恐怕非苹果新品发布会莫属了。在...

有奖调查:看看多少人想买苹果iPhone X

    苹果公司于西部时间9月12日上午10点(北京时间9月13日凌晨1点)在苹...

iPhone X全球售价对比 在这里买最划算

    几个小时前刚刚发布了iPhone X及iPhone 8手机,我是全程看完...

iPhone X发布会 我们送出了千瓶小茗同学

    中关村在线消息:今天凌晨1点,苹果如期召开2017秋季新品发布会,发布了...

10年前投1万买苹果股票 能赚81部iPhoneX

    苹果股票向来是苹果发布会的方向标,每年每代iPhone的新品发布会结束后...

13万名网友在ZOL参加了iPhone8的调查

    中关村在线消息:今天凌晨,苹果终于发布了万众期待的iPhone8、iPh...

库克背后的十个男人 他们成就了iPhoneX

    十年前,乔布斯创造了iPhone;今天,库克带来了iPhoneX。然而无...

十年来的这些收购案 让库克做梦都会笑

    熟悉苹果公司的朋友都知道,苹果公司有一句耳熟能详的官方声明,它的原文是:...

iPhone8值得买的4个理由 看完不想买X了

    今天凌晨,iPhone8系列在一年一度的科技圈春晚9月苹果发布会强势推出...

苹果安卓斗了十年 iPhone还是输掉这些

    北京时间9月13日凌晨,苹果2017年新品发布会举办于史蒂夫·乔布斯剧院...

iPhoneX要接管下半场 这四款旗舰肯定不服

     iPhone X的庐山真面目终于揭晓,毫无疑问在它的带领下,全面屏将成...

iPhoneX发布会 库克这五件事故意没有说

      总结一下,本次苹果秋季新品发布会,只需要拖到One More Thi...

iPhoneX对比三星Note8 差异不止全面屏

      手机圈的年度大戏莫过于苹果新款iPhone和三星新Note旗舰的发布...

iPhoneX到底贵在哪 六大特点深度解析

      北京时间9月13日,苹果在乔布斯剧院正式发布了三部新款iPhone,...

优化压测脚本( loadrunner+python)

  使用python脚本配合loadrunner做二进制数据压测  背景  大部...

一道有趣的BAT公司面试题:7只老鼠测试100个瓶子

  起源  今天,休息的时候同事虎哥给我们说了一个很有意思的问题:有100个瓶子...

为啥编译时会出错

#includeusing namespace std;cl...