zoukankan      html  css  js  c++  java
  • 简单web测试流程(转载)

    转载自 http://blog.csdn.net/qq_35885203

    1.界面操作模式打开jmeter

    进入jmeter安装目录的bin目录下,双击“jmeter.bat”文件即可打开jmeter,操作界面如下

    也可使用命令行模式来操作jmeter

    测试计划的名称可自定义,更改后左侧列表随之发生改变

    可以在“用户自定义变量”中定义全局变量

    2.添加线程组

    右键“测试计划”,选择“添加”—>“threads”—>“线程组”,即可添加一个线程组

    新添加的线程组如下

    线程数可以约略理解为虚拟用户数

    “Ramp-Up Period”:表示在多长的时间内开始进行完所有线程

    循环次数:表示每一个线程被循环多少次,如想永远循环,勾选“永远”即可

    3.添加http请求

    添加完线程组后,我们需要添加一个http请求,他会模拟浏览器来把我们设定的数据发送到服务器

    添加http请求:右键线程组,“添加”—>“sampler”—>“HTTP请求”

    添加完成的http请求页面如下:

    名称及注释可根据自己喜好需要更改其,他数据需要根据我们所要测试的web接口进行填写

    如下数据,来自“聚合数据网”的公开接口的数据,就以这个接口来做一次尝试

    根据此接口的数据信息,填写http请求中的数值,如下图:

    端口号不填写为默认值:80

    超时时间根据自己的需求进行填写

    编码格式使用“UTF-8”即可

    其余信息可从接口数据信息中得到

    http请求的数据填写完成后,其实我们已经可以运行jmeter来访问这个接口了

    点击菜单栏中“绿色小三角”或者右键某线程组选择“start”都可以启动,所不同的是前者是运行所有线程组,后者是只运行选中的线程组

    运行时,绿色小三角会变成灰色,运行完成会重新变为绿色

    但是运行完此线程组,我们会发现,我们好像查看不到运行结果。因为我们还需要添加一个监听器,把运行的结果呈现给我们

    4.添加监听器

    添加监听器:右键需要添加监听器的元素,“添加”—>“监听器”—>“选择需要的监听器”

    监听器既可以放在测试计划下监听整个测试计划的结果,也可以放在某个线程组中,甚至可以放在某个sampler下,单独之监听此采样器的结果

    但是建议不要放太多监听器,根据需要来,否则会耗费太多内存

    我们添加一个“查看结果树”的监听器,然后再次运行线程组,如下:

    选择相应的请求,即可查看此http请求的“取样器结果”、“发送到服务器的请求”、“服务器返回的相应数据”

    http请求前方的绿色小勾表示此请求成功。但是我们查看服务器返回的响应数据,可以看到返回的数据其实并不是我们原本想要的菜谱大全。那它为什么还是成功的?

    如果我们没有告诉jmeter服务器返回的数据是什么样的才算是成功,jmeter默认服务器有响应即为成功。所以我们需要告诉jmeter,我们具体想要服务器返回什么样的数据

    我们需要添加一个断言来告诉jmeter我们想要的

    5.添加断言

    添加断言:右键需要添加断言的sampler,“添加”—>“断言”—>“响应断言”

    添加的响应断言如下:

    根据自己的需要填写响应断言的配置信息

    如下配置信息表示:在服务器返回的数据中,应该包括“success”字段

    因为我们从接口数据信息中查看到返回的正确数据中会有“success”字段。当然这样判断比较简略,可以适当根据需求修改。

    添加好断言后我们可以再次运行下此线程组,查看监听器“查看结果树”中是否有变化:

    可以看到此请求失败了,打开断言,它提醒我们找不到“success”字段

    我们去查看此请求的服务器返回的“响应数据”(4.添加监听器  的最后一幅图),服务器提醒我们"错误的请求KEY!"。

    查看接口的数据信息,是我们少写了一个“key”的请求参数,把这个参数写入“http请求”的“随请求一起发送参数”的表格中,并填入对应的key值,再次运行,查看结果树如下:

    这样一个简单的web测试就算完成了。其他更复杂的情况,后面再记录

  • 相关阅读:
    【CodeForces】[659C]Tanya and Toys
    【CodeForces】[659A]Round House
    高并发网络编程之epoll详解
    Linux写时拷贝技术(copy-on-write)
    5种服务器网络编程模型讲解
    5种服务器网络编程模型讲解
    当你输入一个网址的时候,实际会发生什么?
    error: std::ios_base::ios_base(const std::ios_base&)’是私有的
    C++和JAVA的区别
    为什么内联函数,构造函数,静态成员函数不能为virtual函数
  • 原文地址:https://www.cnblogs.com/hc1020/p/7723953.html
Copyright © 2011-2022 走看看