1.测试用例执行
存放在case文件夹下
代码示例:
#导包
import unittest
#from tools.read_log import Log
from apitest_pycharm.config.read_log_setting import MyLog
'''
# 设置程序所在目录
import sys
sys.path.append("D:\\自动化测试\\apitest\\api")
'''
from apitest_pycharm.api.api_1201 import Api_1201
from parameterized import parameterized
# sys.path.append("D:\\自动化测试\\apitest\\tools")
from apitest_pycharm.tools.read_json import ReadJson
# 读取数据函数
def get_data():
datas = ReadJson("1201.json").read_json()
# 新建空列表,添加json数据
arrs = []
# 遍历获取所有的values
for data in datas.values():
arrs.append((data.get("url"),
data.get("siteID"),
data.get("expect_result"),
data.get("status_code")))
return arrs
#调用日志模块
#log=Log().get_Logger #使用封装日志
log=MyLog().mylogger #使用配置文件封装
class Test1201(unittest.TestCase):
# 新建测试方法
@parameterized.expand(get_data()) #循环遍历单元测试方法
def test_1201(self, url, siteID, expect_result, status_code):
# 调用方法
s = Api_1201().api_post_1201(url, siteID, expect_result, status_code)
print("查看响应结果:", s.json())
#打印日志
log.debug(s.json())
if __name__ == "__main__":
unittest.main()
2.生成对应HTML测试报告
存放在tool文件夹中,报告存放在report
代码示例:
import unittest
import time
from HTMLTestRunner import HTMLTestRunner
#组装测试套件
#suite=unittest.defaultTestLoader.discover("./case",pattern="test*.py")
suite=unittest.defaultTestLoader.discover("D:\\自动化测试\\apitest_pycharm\\case",pattern="test_1201.py")
#指定报告存放路径及名称
#file_path="./report/{}.html".format(time.strftime("%Y-%m-%d %H-%M-%S"))
file_path='D:\\自动化测试\\apitest_pycharm\\report\\{}.html'.format(time.strftime("%Y-%m-%d %H-%M-%S"))
#定义测试报告,stream指定测试报告文件,title定义标题,description='用例执行情况:'
#runner=HTMLTestRunner(stream=file_path,title='售卖系统测试报告',description='用例执行情况:')
#运行测试套件并生成测试报告
'''with open(file_path,'wb') as f:
HTMLTestRunner(stream=f).run(suite)'''
with open(file_path,'wb') as f:
HTMLTestRunner(stream=f,title='售卖系统测试报告',description='用例执行情况:').run(suite)