• 接口框架模板笔记


    给你一个项目,接口自动化测试怎么开展的?
    1、需求分析 - 了解业务/功能 - 项目现状(周期 - 回归测试)TDD - 历史功能/稳定的功能/新的功能/线上问题最多的历史功能模块?/核心功能/自己负责的部分

    2、接口的了解 - 接口文档? 抓包?swagger?? --- 向上抛出。-- 找领导协商外部资源。


    3、自动化框架/工具选择 --- 工具的可扩展性以及扩展语言 + 选几个复杂的接口去试用,看在鉴权和断言方面的处理。
    框架结构
    运行流程
    命名规范


    4、写接口用例? ---
    写接口用例脚本
    尽早加入jenkins集成
    定期汇报
    测试报告 - 分析用例失败
    从你最开始做自动化,到一直做自动化,记录发现的bug



    5、维护阶段
    开发修改接口 - 同步修改用例
    新增接口
    遇到了问题,优化框架



    postman和jmeter


    自动化测试方案?

    自动化框架提供了哪些功能?
    我用你的框架,可以使用哪些功能?
    1、编写用例(前置后置、断言)、执行用例、生成测试报告。
    2、日志功能,回溯问题

    针对接口测试:
    1、数据库处理
    2、接口关联处理
    3、数据参数化(数据驱动思想)实现 - excel数据读取
    4、提取数据处理
    5、数据替换处理
    6、配置文件处理
    7、http请求封装:鉴权处理,请求头处理。
    8、数据生成处理



    1、框架的整体结构、结构设计
    分层设计思想、数据驱动思想
    【1】Common - 公共工具层
    config
    data
    db
    excel
    extract_data_from_response
    path
    phone
    requests
    ddt
    logger

    【2】TestCases - unittest实现,ddt模块
    test_user_business.py (业务流)
    test_add.py(加标)
    test_invest.py(投资)
    test_login.py(登录)
    test_recharge.py(充值)
    test_register.py(注册)
    test_withdraw.py(提现)

    【3】TestDatas - excelini配置文件脚本生成的数据
    api_cases.xlsx(用例表单)

    【4】Conf - 配置层 - 数据库连接配置、全局接口url配置、日志配置、全局共用数据配置
    py_30.ini 配置文件

    【5】Outputs - 报告 /日志
    py30.log 日志输出
    report_.html 报告输出
    【6】
    main.py - 框架的入口文件 - 执行它,收集用例执行用例生成报告。



    参数关联:
    下一个接口的请求依赖于上一个接口的请求返回值

    思想:提取上一个接口的返回值,然后设置为全局变量,下一个接口调用这个全局变量就好了
    在我的框架的当中,有一个Handle_data的py文件,专门来处理。
    如何提取的:jsonpath提取技术,在excel当中把全局变量名和提取表达式写好,执行用例的时候,根据提取表达式得到结果并设置全局变量。
    如何设置为全局变量:全局变量的实现机制是:定义一个全局变量类EnvData。通过setattr函数将提取到的结果,动态的设置为EnvData的类属性。
    如何调用的:在下一个接口发送之前,将请求数据从excel读取出来之后,使用正则替换请求数据当中特定的变量名。使用#变量名#来表示这是要被替换的。


    断言处理上:
    比对code码。返回结果数据比较多的时候,只想比对一部分是怎么做的?有哪几种断言类型(postman)?
    数据上的比对:
    数据库的比对:



    excel用例很多读取很慢的时候,怎么处理???

    把数据库的数据删了 就是不可逆 删除操作为软删除 数据库中只是更改状态 就是可逆的

    怎么保证不漏测
    1、深刻理解需求/业务 - 覆盖更多用例
    2、用例评审
    3、多人交叉测试 - 交互测试
    4、如果有用户场景没覆盖掉。 -- 不断加进去
    5、有机会的话,与项目客户接触一下。


    先想明白用例逻辑/实现-步骤、断言、哪些数据是动态替换 才去写代码。

    1、编写excel测试数据
    用例步骤:
    2、根据表单读取到用例数据
    3、使用unittest框架定义测试类。并使用ddt模块应用数据驱动思想
    4、类前置当中,清除环境变量类当中的属性

    5、替换请求数据当中,需要动态替换的数据(其它的接口返回值、配置文件、脚本生成的)。
    6、如果有前置sql语句,还需要替换sql查询到的数据
    7、发送请求
    8、若有提取表达式,在响应结果当中,jsonpath提取数据,并设置为环境变量
    9、若有断言表达式,则以字典的形式,比对期望和实际结果。
    10、若有sql检查,则在数据库中执行sql数据,与期望结果比对。

    mock应用场景:测试当中,你要请求的接口,你得不到响应数据。 接口可能没实现/可能暂时坏了/第三方的
    mock,模拟一下接口的返回。
    mock服务 - fastmock - https://www.fastmock.site/
    rap2 - http://rap2.taobao.org/account/login

    mock - unittest.mock
  • 相关阅读:
    洛谷P2219 [HAOI2007]修筑绿化带(单调队列)
    CF1059E Split the Tree(倍增)
    CF1059D Nature Reserve(二分)
    洛谷P4199 万径人踪灭(manacher+FFT)
    洛谷P2515 [HAOI2010]软件安装(tarjan缩点+树形dp)
    洛谷P4867 Gty的二逼妹子序列(莫队+树状数组)
    CF932E Team Work(第二类斯特林数)
    JZOJ4307. 【NOIP2015模拟11.3晚】喝喝喝
    洛谷 P2519 [HAOI2011]problem a
    构建秘钥对验证的SSH体系
  • 原文地址:https://www.cnblogs.com/zhang-ping1205/p/13423784.html
Copyright © 2020-2023  润新知