栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

接口自动化怎么做(接口自动化流程)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口自动化怎么做(接口自动化流程)

一、unittest核心组件(4个)

TestCase:测试用例类,用来定义测试用例函数TestSuite:测试套件,用来收集测试用例TestRunner:测试用例运行类,用来执行用例类,一测试套件维度去执行TestFixture:测试脚手架,前置条件,后置处理 二、测试流程

    TestCase:先定义测试用例类,在测试用例类中写测试方法TestSuite:收集你要执行的测试用例类或者文件里面的测试方法,放到测试套件TestRunner:将收集好的测试条件放到测试用例运行器去执行,并收集测试结果TestFixture:做好前置条件和后置处理
三、如何写测试用例(Testcase)
    导入模块:import unittest,继承TestCase类定义一个测试用例类,类名必须以Test开头定义测试方法:测试方法也必须是test开头,必须写在测试用例类里面框架执行入口:unittest.main(),自动收集当前py文件的测试用例,然后执行
四、测试用例包含哪些东西
    前置条件(如果没有可以不写):sql语句执行、数据库连接创建,工具类的实例化测试步骤(业务逻辑):数据替换,数据驱动测试结果断言:响应结果断言,数据库数据断言后置处理(如果没有可以不写):数据清理、数据库连接关闭
五、 前置后置

类级别 @classmethod

前置:测试用例执行之前执行一次(当前测试用例类)后置:测试用例执行之后执行一次(当前测试用例类)

函数级别

前置:每个测试用例执行之前执行一次后置:每个测试用例执行之后执行一次

import unittest
import time
class TestDemo(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        print("类级别的前置")

    @classmethod
    def tearDownClass(cls) -> None:
        print("类级别的后置")

    #函数级别的前置
    def setUp(self) -> None:
        print("函数级别的前置")
    #函数级别的后置
    def tearDown(self) -> None:
        print("函数级别的后置")

    def test_01(self):
        time.sleep(1)
        print("测试用例01")

    def test_02(self):
        time.sleep(1)
        print("测试用例02")

    def test_03(self):
        try:
            time.sleep(1)
            self.assertEqual(1,2)
            print("测试用例03")
        except Exception as e:
            # print("错误原因:",e)
            raise AssertionError(e)

    def test_04(self):
        time.sleep(1)
        print("测试用例04")
if __name__ == '__main__':
    unittest.main()
六、用例执行顺序

0-9
1、用例执行按照Ascii码顺序

#打印对应字符的ascii码
print(ord("a"))  #97
#讲ascii转换为对应的字符
print(chr(102))

2、测试用例类

1、测试函数2、测试文件 七、用例断言(继承TestCase类的断言方法)

self.assertEqual(1,1) 断言是否相等
断言的特点:
1、unittest以程序运行过程中是否抛出异常来判断用例是否执行成功
2、如果断言失败程序会抛出异常,框架就会把这个用例标记为失败
3、只要你的程序中执行出现了其他异常,框架也会去捕获异常并将用例标记为失败

八、异常捕获与异常抛出

1、try…except 捕获到的异常一定要抛出来给框架,否则框架就会认为用例执行成功的
2、手动抛异常:raise AssertionError(e)

 def test_03(self):
        try:
            time.sleep(1)
            self.assertEqual(1,2)
            print("测试用例03")
        except Exception as e:
            # print("错误原因:",e)
            raise AssertionError(e)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号