• 基于Locust框架进行文件上传下载性能测试​


    每天进步一点点,关注我们哦,每天分享测试技术文章

    本文章出自【码同学软件测试】

    码同学公众号:自动化软件测试,领取资料可加:magetest

    码同学抖音号:小码哥聊软件测试


    在很多业务场景中,需要针对文件上传和下载进行测试。当你要测试一个业务时,必须要先理解这个业务的本质。我们先来看下上传和下载的本质。

    文件上传过程

    1、在浏览器上选择本地文件,点击上传

    2、浏览器读取本地文件,将文件内容放到HTTP请求的body中,然后在HTTP请求头中,标记请求数据类型:

    Content-type:multipart/form-data,

    以post形式提交至服务端。

    3、服务端接受到请求数据后,在服务器上新建一个文件,将body中的数据写入到文件,一次文件上传处理完成。

    文件下载过程

    1、在浏览器上点击下载按钮,向服务端发起一个HTTP get类型请求

    2、服务端接收到请求后,将对应文件内容读取出来,写入到HTTP响应中,并在响应头里标记Content- Disposition: attachment; filename=xxx

    3、浏览器接受到响应后,根据标记识别出本次是下载请求,根据标记中的filename在本地创建一个同名文件,然后将响应中的数据写入到文件里,一次下载文件处理完成。

    从上传和下载的描述中可以看出,所谓的文件上传和下载,其实都是将文件内容附加到HTTP请求里进行传输。

    使用Locust测试文件上传下载

    先来看下某项目上传和下载的接口文档

    文件上传脚本编写

     

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest

    执行脚本,在本地浏览器中请求http://localhost:8089/,输入并发用户,和ip端口,点击开始执行

    可以在Pycharm的控制台上打印出每次上传的返回结果

    文件下载脚本编写

    执行脚本,在locust UI界面上开始测试,可以在Pycharm中看到接口的返回值

    注意事项

    下载文件过程中,服务端只负责把文件内容返回给客户端,文件的创建和保存应该是客户端来做的。如果做服务端的接口测试,本地就不需要创建文件了。文件的内容是放在响应body中的,只需要判断响应body的大小和文件大小相同,即代表下载成功了。

  • 相关阅读:
    【Java编程思想】13.字符串
    【Java编程思想】12.通过异常处理错误
    【Java编程思想】10.内部类
    【Java编程思想】11.持有对象
    【Java编程思想】9.接口
    【Java编程思想】8.多态
    【Java编程思想】7.复用类
    【Java编程思想】6.访问权限控制
    【Java编程思想】4.控制执行流程
    Ribbon、Feign、Hystrix使用时的超时时间设置问题
  • 原文地址:https://www.cnblogs.com/testfan2019/p/16519691.html
Copyright © 2020-2023  润新知