首页 > 编程语言 >Python_14 接口测试报告

Python_14 接口测试报告

时间:2023-04-27 22:35:16浏览次数:115  
标签:14 Python unittest 用例 测试用例 测试 执行 测试报告

一、查缺补漏
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. 生产的报告

 

标签:14,Python,unittest,用例,测试用例,测试,执行,测试报告
From: https://www.cnblogs.com/Alisa-sweet/p/17354440.html

相关文章

  • 【牛客编程题】Python机器学习(入门例题5题)
    【牛客编程题】Python机器学习(入门例题5题)做题链接:https://www.nowcoder.com/exam/oj?page=1&tab=Python篇&topicId=329文章目录AI1鸢尾花分类_1AI2鸢尾花分类_2AI3决策树的生成与训练-信息熵的计算AI4决策树的生成与训练-信息增益AI5使用梯度下降对逻辑回归进行训练AI1鸢尾......
  • User installations are disabled via policy on the machine. 安装python
    Userinstallationsaredisabledviapolicyonthemachine. 解决办法1、在运行里输入gpedit.msc;(grouppolicy)组策略2、计算机配置管理>>管理模板>>windows组件>>windowsInstaller>>禁止用户安装;3、打开它禁用此项就可以了。    ......
  • Python字符串比较
    python中的字符串之间比较是依次比较每个字符的原始值(ordinalvalue)的大小,可以使用ord0方法查看某个字符的原始值,直到两个字符串中的字符不相等时,后续字符将不再被比较print('xnjilhntm'=='xnjilhntm')#Trueprint('xnjilhntm'<'xnjilhntz')#True   ord('m') 109,ord('z......
  • Day14
      3.代码示例#include<iostream>usingnamespacestd;intmain(){inta,b,num=0;cout<<""<<"白球"<<""<<"红球"<<""<<"黑球"<<endl;......
  • Python学习笔记
    第二章变量和简单数据类型2.1字符串2.1.1使用方法修改字符串的大小写str.title():以首字母大写显示每个单词str.upper():字符串全部改成大写str.lower():字符串全部改成小写2.1.2删除空白str.rstrip():删除字符串末尾的空白str.lstrip():删除字符串开头的空白str.strip():......
  • 在线设计Tkinter界面,生成Python代码,Tkinter布局助手,拖拽生成界面,tkinter designer,可视
    设计地址:https://www.pytk.net/tkinter-helper/? 运行演示  教程地址:https://www.pytk.net/tkinter.html 常用演示"""本代码由[Tkinter布局助手]生成当前版本:3.2.4官网:https://www.pytk.net/tkinter-helperQQ交流群:788392508"""fromtkinterimportmessag......
  • python+playwright 学习-59 设置默认允许麦克风和摄像头等权限
    前言有些场景在使用的时候,会弹出一些权限框,比如麦克风和摄像头等,通过监听alert是没法捕获的。正确做法是给浏览器设置默认允许麦克风和摄像头等权限,不让弹窗出来。使用context的grant_permissions方法加权限。权限框弹窗示例这种弹窗是权限窗,不是alert解决办法contex......
  • python 连接数据库
    使用pymysql连接数据库importpymysqlconn=pymysql.connect(host="10.00.0.00",port=31379,user="root",password="123456",database="acc_test")#模拟从数据库获取单个字段值withconn.cursor()ascursor:#获取【......
  • Xcode 14 m1 系统 遇见的坑
    我是查看环信demo遇到了记下来1、是运行摸机器一直报错xxx.o文件找不到  forarchitecturearm64 podfile文件post_installdo|installer|installer.generated_projects.eachdo|project|project.targets.eachdo|target|target.build_c......
  • Python-集合的基本操作(set)
    1. 前言python中的集合和数学里的类似也是用于存放不重复的元素,它有可变集合(set)和不可变集合(feozenset)两种,集合的所有元素都放在一对大括号"{}"里(列表是[]、元组是()、字典是{}),集合最好的应用就是去重,因为集合中的每一个元素都是唯一的。 2. 集合的创建2.1.直接使用"{}"创......