一、查缺补漏
1. 测试用例要复制到pycharm执行的项目中,才能显示
2. 函数用下划线,类用大驼峰
3. pycharm一行显示(不换行):
File -> settings-> Editor ->General -> Console 中把Use soft wraps in 取消
4. 设置成unittest在File -> settings->Tools->Python Integrated Tools ->Testing
5. 修改名字的时候清一下缓存,在执行窗口点击Edit configurations,然后选中要清除的点击减号
二、unittest
1. unittest框架4大核心组件 unittest 是python自带的单元测试框架,无需安装
  a. TestCase: 写测试用例
  b. TestSuite: 收集测试用例
  c. TestRunner: 执行测试用例
  d. TestFixture: 测试脚手架,前置条件,后置清理,根据实际情况选择使用
2. unittest工作流程
  a. 使用TestCase 按照规则写测试用例,每一个函数为一个测试用例
  b. TestSuite:创建一个测试套件,收集测试用例到测试套件
  c. TestRunner 统一执行测试套件里面的用例
  d. 生成测试报告
3. 测试用例编写
  a. 导入模块unittest
  b. 创建一个测试类,继承unittest.TestCase 测试用例必须写在测试类里面
  c. 测试用例以test开头
  d. 执行入口:unittest.main()
  在它当中执行会执行全部的测试用例,如果想一个一个执行,直接点击用例前面的执行图标
  e. 测试用例包含哪些东西
    i. 前置条件 token、session 夹具,将测试用例夹在里边
      1) 函数级别:setup、tearDown

      2) 类级别:setUpClass、tearDownClass 是类方法使用之前要加@classmethod因为修改了父类

      3) 前置条件自动执行 类似init方法,自动调用时先调用类级别之后调用函数级别,类级别只调用一次,函数级别每条用例都要执行一次
  ii. 测试步骤:ddt+接口请求+提取全局变量
  iii. 测试断言:利用unittest框架自带的断言
  iv. 日志收集:还原整个测试过程
  v. 后置清理:是否要清理掉测试数据,删除测试,关闭各种文件的连接,关闭数据库连接
  f. 用例执行顺序
    i. 按照测试用例名称的Ascii码大小来执行
      chr(): Ascii 转 字符
      ord(): 字符 转 Ascii
    ii. 执行顺序: 类级别前置---函数级别前置---测试用例---函数级别后置---类级别后置
4. 测试用例收集与执行
  a. 创建测试套件:suite = unittest.TestSuite() 依次添加的用例会被分别执行
  b. 添加测试用例到测试套件:suite.addTest(测试用例的类名('里面的用例')) 添加单个用例
    i. 添加多个测试用例到测试套件 以测试用例为维度
       接收用例名对象 = [测试用例的类名('里面的用例1'),测试用例的类名('里面的用例2')]
       suite.addTests(tests = 接收用例名对象) 加s重点
    ii. 添加整个测试类 以测试类为维度
        suite.addTest(unittest.makeSuite(测试用例的类名))
        为了让更多的类方便导入,添加整个测试类添加到测试套件
    iii. 添加整个测试类 以测试类为维度
     suite = unittest.TestLoader().loadTestsFromTestCase(TestDemo)
    iv. 收集指定目录下测试文件的测试用例 测试文件为维度
     dir_path = os.path.dirname(__file__)
     suite = unittest.defaultTestLoader.discover(start_dir=dir_path)
     start_dir: 测试用例目录
     pattern='test*.py'
     运行测试用例
     runner = unittest.TextTestRunner() TextTestRunner是实例化执行器框架自带的,自带的测试结果
     runner.run(suite)
     测试结果为.就表示通过,f就表示没通过

5. 测试报告
  a. TextTestRunner()自带的测试报告,不好看,无法识别,没有执行过程
  b. HTMLTestRunner:不要看
  c. BeautifulReport:第三方的库,还可以,推荐使用
  d. unittestreport: 秘密
三、执行和收集用例的常用方法
1. 另起一个新页面对用例进行收集和执行
2. 用例收集:指定收集某个目录下的某个测试用例文件的测试用例
3. 具体步骤:
4. unittest.defaultTestLoader.discover(start_dir=测试用例目录,pattern='test*.py')

5. res = unittest.TestLoader().loadTestsFromTestCase(测试用例的类名)

四、BeautifulReport测试报告的使用
1. 安装BeautifulReport pip install BeautifulReport 在Terminal中输入即可

2. 生产测试报告的步骤

3. 生产的报告

五、unittestreport测试报告的使用
1. 安装unittestreport pip install unittestreport 在Terminal中输入即可

2. 导入时 from unittestreport import TestRunner
3. 生产报告的步骤

4. 生产的报告

Python_14 接口测试报告的更多相关文章

  1. python接口自动化(五)--接口测试用例和接口测试报告模板(详解)

    简介 当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求.区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺 ...

  2. 使用HTMLTestRunner模块更优美地展示接口测试报告

    优化版本的HTMLTestRunner模块,从我的百度网盘获取: 链接:https://pan.baidu.com/s/1f8eLpX5qBrpJsVlXKjquRQ 提取码:qqlu 测试报告展示: ...

  3. Jmeter接口测试报告模板优化(续)

    在之前的基础上又优化了一下: 1.增加了对接口响应时间段的统计,如小于0.5s的请求有多少,0.5-1s的有多少,大于1s的有多少.可以自行修改.且不同范围内的时间字体颜色不一样,便于区分. < ...

  4. Jmeter接口测试报告模板优化

    优化后在接口报告的接口信息中,直接展示url,method,结果和响应时间,详情中展示请求和响应数据.具体如下: 模板文件 jmeter-results-detail-report_21.xsl: & ...

  5. Jmeter+ant集成接口测试报告

    一.jdk1.8下载及环境配置 1.1 下载地址 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-download ...

  6. jenkins邮件发送jmeter接口测试报告

    在Jenkins中配置实现邮件通知,Jenkins提供了两种方式的配置. 一种是Jenkins内置默认的邮件通知,但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式 ...

  7. 记录python接口自动化测试--利用unittest生成测试报告(第四目)

    前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...

  8. python接口自动化测试二十五:执行所有用例,并生成HTML测试报告

        import requestsimport unittest class TestQQ(unittest.TestCase):    '''测试QQ号接口'''      # 此注释将展示到测 ...

  9. python - 接口自动化测试 - RunTest - 测试用例加载执行/测试报告生成

    # -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: run_test.py @ide: PyCharm Com ...

  10. unittest接口自动化测试报告

    unittest接口自动化测试报告 展示: 代码: __author__ = "Wai Yip Tung, Findyou" __version__ = "0.8.2.1 ...

随机推荐

  1. Hadoop之HDFS优缺点、设计原理、框架

    如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704  Hadoop的前世今 ...

  2. 006Java程序运行机制

    006Java程序运行机制 高级程序语言分为编译型和解释型两种,Java这两种特性都具备. 编译型还是解释型取决于翻译的时机. 以看一本外语书为例: 编译型:先把整本书翻译成中文版再看. 解释型:请个 ...

  3. sql运算符优先级

    1.() 2.* / % 3.+正 -负 +  - +连接(字符串) 4.= > < >= <= <> != !> !< 5.not 6.and 7.b ...

  4. git合入代码过程中问题记录

    问题一. 对远端仓库没有操作权限 ERROR: Repository not found. fatal: Could not read from remote repository. 定位思路 1.检 ...

  5. Python第六章实验报告

    一.实验内容:<零基础学Python>第六章实例和实战,以及一道作业题 二.实验环境:IDLE Shell 3.9.7 三.实验目的和要求:掌握定义和调用函数.变量的作用域.匿名函数.参数 ...

  6. WinForm分辨率适应-高DPI自动缩放

    https://www.cnblogs.com/alittlecooing/p/WinForm-HighDPI.html 新建app.manifest文件后,去掉注释就可

  7. Centos7 禁用IPV6地址的方法

    方法 1 编辑文件/etc/sysctl.conf, vi /etc/sysctl.conf 添加下面的行: net.ipv6.conf.all.disable_ipv6 =1 net.ipv6.co ...

  8. 【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群

    目录 项目效果 安装 go-cqhttp 虚拟文件 启动 ChatGPT 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公 ...

  9. 针对于Sql server突然连接不到服务器的解决方法

    问题叙述 点击连接之后,总是会弹出一个错误弹窗: 方法解决 快捷键Win+R,输入services.msc,进入到服务界面: 找到SQL 代理(DEV) 将手动打开改成自动 再连接试一次 连上啦! ( ...

  10. ISCC 2022 RE

    ISCC 2022 RE 练武题 Amy's Code v9=[0]*20 v9[0] = 149 v9[1] = 169 v9[2] = 137 v9[3] = 134 v9[4] = 212 v9 ...