• 【接口测试】jmeter的使用


    学习地址:

    https://ke.qq.com/webcourse/index.html#course_id=89002&term_id=100088372&taid=153459181575082&vid=b14059766iy

    主要学习内容:

    一、jmeter的下载、解压及启动

    1、下载地址:http://jmeter.apache.org/

    点击左侧download,选择2.1.3zip版本,提示需要Java 6或更高版本(具体java安装请自行解决,之前的博客中讲过这个)

    2、下载之后,直接解压,进入到bin目录下,看到两个文件夹,分别是examplestemplates,其中examples中有功能测试+性能测试的例子,往下找会看到jmeter.batjmeter.shwindows环境下运行jmeter.bat即可,linux环境下运行jmeter.sh

    3、双击jmeter.bat之后,就会打开界面

    二、TCP取样器的学习

    1、TCP取样器的建立:

    测试计划——右键添加线程组——在线程组上右键添加Sampler,选择TCP取样器,之后就会出现一个TCP取样器的选项,点击之后修改名称,如修改成apache tcp测试

    2、在浏览器中输入jmeter.apache.org,并按下F12把web端调试工具调起来,network选项,选择最左侧的jmeter.apache.org,点击Request headers,就能看到获取的内容,为了更好的看到请求和响应的数据,可以用tcpmon工具来监听tcp请求,具体操作如下:

    下载tcpmon之后,解压,在build文件夹中,能够看到tcpmon.bat文件,

    直接双击就可以看到tcpmon的运行界面:

     点击Admin,在对应的位置分别输入如下值:

     之后点击Add,就能看到最顶端的菜单栏右边多了一项:Port 80,点击切换到这个tab下,在浏览器中输入:localhost:80(因为监听的是80端口,如果Listen Port是8080端口,那就需要输入localhost:8080),输入之后点击enter,能够看到浏览器中的响应结果:

    上面的textview的大框中显示的是:请求内容,下面的是响应结果,把上面的内容直接拷贝电脑jmeter的tcp取样器的“要发送的文本”的框中

    将以上内容直接复制到TCP取样器的“要发送的文本”中,填写“”服务器名称或IP”为:jmeter.apache.org,端口填写80,具体见下方图片:

    3、线程组右键——添加监听器,选择“察看结果树”

    4、点击绿色的运行按钮,等待结果出来后,点击“察看结果树”

     

    然后以上只是最基本的流程和操作,如果对于测试结果进行验证,还需要增加断言,后续补充。

    三、http请求的学习(添加一个对360智能摄像机的“获取我的摄像机列表”的接口的测试)

    抓包的环境配置:

    在电脑端连接一个WiFi之后,通过cmd获取到该主机的IP地址,然后确定一下Fiddler里面的端口号,在手机端就可以也连接这个WiFi,然后在具体的WiFi信息的HTTP代理处设置手动代理,然后将电脑端的IP地址和Fiddler的端口号都输入进入,比如:

    1、我的电脑端的IP如下,cmd中输入ipconfig:

    因为是直接用网线连接的路由器,这里就是:192.168.36.228

    然后手机端直接设置HTTP代理:

    服务器: 192.168.36.228

    端口: 8888(备注:这里如果不做修改,Fiddler默认端口都是8888,如果修改了,请自行查询后填写正确即可)

    一个真实的例子可以来分享一下,后期附图。

    1、360智能摄像机需要获取摄像机列表页的信息,接口是:/app/getIpcList,host:q.jia.360.cn,这些信息都可以通过fiddler抓包看出来,走的是POST请求

     

    这里就能够看到:POST请求,接口是:/app/getIpcList,host:q.jia.360.cn,然后还有一堆cookie信息

    2、在jmeter中建立线程组,添加Sampler--http请求,添加“察看结果树”,添加“HTTP Cookie 管理器”,这些cookie信息也可以从fiddler中抓到,设置Q、T、qid、sid的值、域、路径

    截图如下所示:

    这里有一个问题,就是域和路径分别是从哪里获取的呢?还是默认有什么设置呢?

    3、http请求中修改名称,填写“服务器名称或IP”,协议选https,方法选POST(这个方法也是从fiddler中抓到的),POST请求需要添加下面的body data,填写内容从fiddler的request的TextView中直接复制过来就行

    如果这里是GET请求,就需要设置Parameter,一会看一个这个例子吧。

    4、直接运行,就能得到一堆内容,选择以json形式展现,就能看到如下图所示的结果:

    这里有一个问题,就是比如title显示的unicode值如何转换成中文显示出来?

  • 相关阅读:
    ipAllocate_and_linkState_hacking
    parseConf(配置文件解析器)
    Remember that ordinal parameters are 1-based!
    FetchType与FetchMode的区别
    Hibernate中Session.save()方法的返回值是什么
    CascadeType
    easyui隐藏列
    tree的所有节点都勾选上或者取消勾选
    jbpm角色审批
    Set与List之间转化
  • 原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/5409474.html
Copyright © 2020-2023  润新知