jmeter可以用来测php吗,Jmeter接口测试实例-牛刀小试

本次测试的是基于HTTP协议的接口,主要是通过Jmeter来完成接口测试,借此熟悉Jmeter的基本操作。

本次实战,我是从网上找的接口测试项目,该项目提供了详细的接口文档,我们可以通过学习接口文档来设计测试用例,最后再使用Jmeter进行实战。总的来说,这个项目很适合用来练手,项目网址:http://doc.nnzhp.cn/index.php?s=/6&page_id=8

所有设置如下:

8ce5c6c21d6a433ab5954a801b36412a.png

1.获取学生信息(GET请求)

从接口文档中,我们可以看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,在此就不详细说明了。我们先创建一个线程组,在线程组下添加一个HTTP请求和察看结果树,如下:

77d52e4a96d7eb2390d09d1449b2c276.png

a1c36148b30e62442e7051b3250e2b1f.png

上面的是请求正确的结果,如果请求错误,比如填写一个系统数据库中 stu_name 没有的值,那么返回结果如下:

0568eb2ded5028d05b36da61ae811963.png

2.登录(POST)

在登录接口中,接口文档中提供了一个测试用户,我们可以利用该用户来模拟测试。

8e500236085738a09642297e78bffabd.png

登录接口用到的是POST请求方式,入参 username 和 passwd 为必填项,我们再创建1个线程组,在线程组下添加一个HTTP请求和察看结果树,如下:

9e712bdcc04dd88169815654a3cf737f.png

5db110de2c4d414c7797d6367ed99fb7.png

当我们填写的是错误的入参时,返回结果如下:

6ec9ba34da3e36ea119a5533c611ff6e.png

3.添加学生信息(POST请求,JSON类型)

在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。在这里,我们再创建1个线程组,在线程组下添加一个HTTP请求和察看结果树,如下:

08c329a4e5e0369beb7556e4953c03c3.png

1467ff6f3a546e01bf7c013768b73fc8.png

在这里,由于这个学生信息已存在系统中了,因此返回添加失败的结果。所以,我需要添加1个新的学生信息,另外,这里需要调整下编码格式为utf-8,否则添加的学生信息会出现中文乱码。

e56f71afbeee67994442df29e3aa408e.png

e441e6f3a1e5383d6fad402837bd7d25.png

在这里,大家可以设计不同的测试用例来进行测试,但操作方式都是一样的,只是返回结果不同而已。

4.学生充值金币(POST请求,添加cookie)

这个接口有权限验证,需要admin用户登录成功后才可以进行充值,另外,在入参 stu_id 和 gold 中,我们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,如下:

79f8796b1f6b3aadc2df56e88abb6b2c.png

因此,我们创建一个线程组,在线程组下依次添加登录请求、学生充值金币请求、察看结果树,在登录请求下添加JSON提取器,用于提取cookie,在学生充值金币请求下添加HTTP Cookie管理器,如下:

d5b6473bacc7ccf7fbb894fc7d91eed2.png

ec62adbf8b35bf0f1807067b0bdc98df.png

ac04d5c89e64f02b6a47fa8d83f526c9.png

1bc2b06ebf62297bbeb678924c31c1e4.png

9c5f23fad6690ea00d01f82ceaf8347d.png

884a40892d80df09ad257decab5c7b64.png

在JSON提取器中,我们通过 $.login_info.sign 来提取登录的cookie,并在HTTP Cookie管理器中进行引用,如果没有关联cookie,那么将充值失败,提示未登录。

7421e70367291a1e9a72d8f226b936b5.png

5.获取所有学生信息(GET请求,添加header)

从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,如下:

4c3aaaf17ec373b5df95d72ac8bc3546.png

4f1685209289eb68d181c9d06236f472.png

cb5a20e586560fadc6d9fbf04a5cb967.png

这里需要说一下,我们在返回的结果中看到,有些学生信息中有很多“???”,这是因为在添加学生信息的时候,我们传入中文数据导致乱码,因此在添加学生信息接口中,我特意说明让大家设置utf-8编码,这样添加的学生信息就不会出现乱码了。

6.文件上传(POST请求)

在上传文件接口中,需要注意的是这里的入参是file类型的,因此,我们需要准备一个待上传的文件。

365b2671fbf06bb50ea785442c1fd8b9.png

最后,我们创建一个线程组,在线程组下依次添加文件上传请求、察看结果树,如下:

4e518d364e790b5fc67d3eff56c1349e.png

c2938a5ce9f90c4938de862e0ed625d2.png

OK,以上就是通过Jmeter对这个接口项目进行接口测试的过程,比较基础,适合新手用来练习操作Jmeter,另外,我发现还有另外一个接口项目:抽奖项目api( http://doc.nnzhp.cn/index.php?s=/5&page_id=7 ), 感觉和本次测试项目差不多,大家有兴趣的可以尝试下,后续有时间的话,将考虑通过Python对本项目进行接口测试。

最后,通过本项目,可以看到,Jmeter上手起来挺快的,即使不懂代码的同学学会Jmeter的基本操作后,也可以很快进行接口测试实践。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值