zoukankan      html  css  js  c++  java
  • 用ab的post方式进行测试

    一、Ab是常用的性能测试工具,因为它支持windows……

      通常使用的命令是ab –c –n –k -r,分别表示:模拟终端数、发送包数、请求是否带keepalive、忽略错误,默认都是以GET方式去请求的,也就是下面这种请求就可以用它测试:

      这里不再说了。

    二、本次主要说测试post方式的请求,也就是浏览器抓包看到的下面这种:

      需要加上两个参数-p和-T,先说-T是指请求的内容类型,比如上图的'application/x-www-form-urlencoded'就写-T "application/x-www-form-urlencoded",-p后面跟的是要post的内容,以文本方式记录即可,以我这次测试的例子为例:

      -T参数就要写成-T "multipart/form-data; boundary=----------------------------350e95503198",但事实上boundary的内容是可以自己定义的,只要是给服务端识别出内容在哪里而已

      比如我测试时就是写-T "multipart/form-data; boundary=---1234ceshi"。

      -p参数跟的是内容,只要把上图抓包结果保存为txt即可,比如test.txt,但是注意如果你修改了boundary,那么这里记得也要修改,如

      -----1234abcd

      Content-Disposition: form-data; name="midn" 

      7213c8d95ccc968d28d2d48b0c59a63e 

      -----1234abcd

    注意最后那两个破折号不能省略哦。

      那文中例子的测试命令行就是:ab -n 1 -p test.txt -T "multipart/form-data; boundary=---1234abcd" http://172.22.31.45:8080/check_client_need_query.html
      如果出现“ab: Could not stat POST data file : Partial results are valid but processing is incomplete”这是因为ab对post支持不好,尤其是在windows下。

    三、通过面的例子可以看到这种方法是存在缺陷的,就是test.txt的内容是写死的,如果实际测试需要post不同的数据(比如不同的midn)怎么做?有两个方法:

      1、通过另外的脚本或者程序在测试前修改这个文档

      2、换loadrunner。。。

    作者:肥狐
    出处:http://idbeta.cnblogs.com/
    本博客内除了标题带[转]字样外的所有文章,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权,任何违反本协议的行为均属于非法行为。如需非商业性转载,必须保留此段声明,且在文章页面明显位置给出原文连接。如需商业性转载出版,请直接和我联系。
    如果您看了本篇博客,觉得对您有所收获,请点击右下方的【推荐】,同时欢迎您【关注我】
    Creative Commons License
  • 相关阅读:
    在数值中加入千位分隔符的方法
    用 Javascript 验证表单(form)中的单选(radio)值
    用 Javascript 验证表单(form)中多选框(checkbox)值
    用 CSS 实现图片替换文字(Image replacement)
    计算机技术分类
    最近好乱acm与数模时间重复了
    memcached Telnet Interface
    event_new
    event_base_loop
    event_base_loop
  • 原文地址:https://www.cnblogs.com/idbeta/p/4988437.html
Copyright © 2011-2022 走看看