用例管理和思考
问题: 多个文件,多个测试用例、断言规则、是否需要特定的请求头、用例是否跳过、是否需要登录等这些是否可以成配置化的?
解决方案:通用管理用例,做成可配置的形式
用例管理:
Excel: 使用Excel记录,但是操作过滤不方便,测试方案,用例管理不灵活,数据共享不方便,但入手简单
数据库:数据库记录,操作过滤方便,用例管理灵活,数据共享方便,后续企业可以自研测试平台(前端+后端+数据库)
RunMain.py启动入库文件
#coding=utf-8
import os
import unittest
# def load_all_case():
# #用例路径
# case_path=os.path.join(os.getcwd(),"../case")
# #加载所有测试用例
# discover=unittest.defaultTestLoader.discover(case_path,pattern="*Case.py",top_level_dir=None)
#
# return discover
#
#
# if __name__ == '__main__':
# suit=unittest.TestSuite()
# suit.addTests(load_all_case())
# runner=unittest.TextTestRunner(verbosity=2)
# runner.run(suit)
from case.xdclass_api_test import XdClassApiTest
if __name__ == '__main__':
xdtest=XdClassApiTest()
xdtest.runAllCase("小滴课堂")
目录结构:
utils文件夹:工具类的封装
requestsUtils.py 对请求方法的封装
dbUtils.py 操作数据库的封装
sendmailUtils.py 对发送邮件的封装
case文件夹:执行用例的封装api_test.py,包含8个方法:
def loadAllCase 加载所有用例
def findCaseById 通过用例ID查找单条用例
def loadConfigByAppandKey 通过app和key查找配置
def updateResponseByCaseID 通过用例ID更新用例执行结果
def runAllCase 执行所有用例
def runCase 执行单条用例
def assertRsponse 对用例执行结果进行断言
def sendTestReport 发送测试报告
main文件夹:执行所有用例的入口
RunMain.py
目录结构:
│ requirement.txt
│
├─case
│ │ TestIndexCase.py
│ │ UserTestCase.py
│ │ UserTestCase2.py
│ │ UserTestCase3.py
│
├─config
│ __init__.py
│
├─main
│ RunMain.py
│ __init__.py
│
├─req
│ requestDemo.py
│
├─until
│ │ RequestUtils.py
学习路线.png
excel管理用例.png
网友评论