zoukankan      html  css  js  c++  java
  • python3+requests库框架设计01-自动化测试框架需要什么?

    什么是自动化测试框架

    关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架。

    接口自动化测试框架核心无非是选择 一个用来编写脚本的语言,一个用来模仿http请求的http库,管理脚本的执行工具,选择python,http库可以用requests,脚本管理工具可以用unittest单元测试框架。选择java的话,http库可以用httpclient,脚本管理工具可以用TestNg或者junit

    自动化测试框架需要什么

    首先我们来思考一下接口自动化测试框架需要些什么?或者说需要实现哪些功能?由哪些部分来组成?

    1)输出日志文件

    2)测试基类封装

    3)配置文件

    4)测试脚本

    5)管理、执行测试脚本方式

    6)测试报告输出

    7)第三方插件

    8)持续集成

    解释:

    通过日志输出,我们可以知道测试用例的执行情况:比如请求哪个地址,请求内容是什么,响应码多少,响应内容是什么,断言结果,是否测试通过,如果产生报错,脚本执行失败,可以通过日志快速定位错误发生的位置。

    测试基类封装,就是把我们很多需要重复使用的功能,写成一个公共方法,放到一个基本类下面,方便每次调用,例如配置文件增删改查,请求的再封装,响应码断言,响应内容字典迭代等。

    需要一个配置文件去控制一些环境信息,比如请求地址,用户信息,保存在测试过程中的一些值,方便后续测试用例的调用,配置文件可以是txt/xml/ini,Python的话一般用ini文件。

    测试脚本就是我们对被测接口,具体实现测试的代码,一般我喜欢按照功能模块新建.py文件。

    管理和执行脚本的方式,可以使用python单元测试框架unittest。因为我们不可能一个个用例的去执行,通过一个这样的框架,确定所需执行的脚本数量,脚本执行顺序

    执行了多少测试case,case的结果如何,这些都需要通过一个测试报告来展示,一般都是通过第三方插件来实现,使用unittest可以使用其拓展HTMLTestRunner来进行生成测试报告

    第三方插件,有时候有些功能别人已经写好了,直接拿来用就行,比如上面提到的生成测试报告

    持续集成,git,svn,maven,jenkins,比如把脚本放到jenkins上,达到持续集成,一键就能执行测试脚本。自动化测试是指开发,运维,测试都通过持续继承,自己手动去运行代码只能算是半自动

    本文的接口自动化测试框架:python3+requests库+unittest+HTMLTestRunner

    源码地址需要的可以拿去

    期间有过不断的更新优化,网盘可能不是最新的,最新的可以看博客或GitHub​​​​​​​

     

     

  • 相关阅读:
    为什么企业发展离不开ERP系统?
    PS Cloud:Odoo在中国唯一的SaaS营销平台
    Ps cloud里的CRM软件到底强在何处?
    PS Cloud备受关注的六大优点
    odoo的 CRM系统为何如此受欢迎
    iOS :Object-C 语言merge两个字典对象
    iOS:swift :可选类型
    iOS循环引用
    swift 3.0基本数据语法
    配置React Native环境
  • 原文地址:https://www.cnblogs.com/myal/p/9337377.html
Copyright © 2011-2022 走看看