51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2942|回复: 0
打印 上一主题 下一主题

[原创] 基于Pytest与Postman的数据自动采集接口自动化测试实践

[复制链接]
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-11-16 10:09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一、前言

      本文跟大家介绍的是基于python测试框架pytest 与postman数据自动采集的接口自动化测试实践方案,首先了解下为什么是基于pytest框架而不是使用unitest?网上的对比资料很多,概括起来就是pytest 相较于 unittest 代码更加的简洁和灵活,最为跳跃的一点就是 fixture 机制,并且pytest有很多的第三方插件可以扩展和继承,大家可以深入去查一查。

      第二个了解的是为什么要做数据自动采集,做数据驱动很多教程推荐的是将数据写在excel中,然后通过程序去读取。但我更推荐的是通过软件自动采集所需数据,这样可以大大节省手动在excel录入数据的时间。推荐使用postman采集数据,它是一款做开发人手必备的接口调试工具,几乎能发送所有类型的HTPP请求,在打开代理模式以后能够自动抓取pc端浏览器或者APP端请求的接口数据,存储并导出后为json格式的数据源,简单方便。

      二、自动化框架流程

      整个代码框架除了数据来源从postman采集,其他所有封装的公共库以及具体的测试用例均使用代码编辑器如pycharm编写python代码,其中需要用到的pytest、requests、allure等库可以直接使用pip命令安装。从数据采集到完成自动化测试并输出测试报告的流程如下图:

    1)编写公共库:如果某个函数需要被多次引用,那么就可以封装成公共函数,这些封装的函数主要有:断言、全局常量、log日志、发送请求、用户session、加密等。跟业务无关,可以先封装好。

    2)编写配置文件:配置文件内容如环境参数、文件存储路径、版本号,以及配置文件的读写封装等,也是编写测试用例之前必须封装好的内容。
      数据自动采集:如下图所示,打开代理模式,设置代理端口如:5555,设置抓包的存储路径,比如一个功能流程就可以单独存一个集合,最后设置过滤地址为本系统,以免抓到与系统无关的接口 。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 06:45 , Processed in 0.061237 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表