框架执行入口
九、用例收集
1.测试用例为维度
# 创建测试套件
suite = unittest.TestSuite()
# 添加指定的测试用例
suite.addTest(TestDemo("test_02"))
# 创建执行器
runner = unittest.TextTestRunner()
# 运行
runner.run(suite)
2.测试类为维度
# 添加指定的测试类
suite.addTest(unittest.makeSuite(TestDemo))
3.模块为维度
# 拿到的直接是测试套件 start_dir(测试文件目录), pattern='test*.py'(测试用例文件名称。默认是test开头的py文件)
cas_dir = os.path.dirname(__file__) # 获取当前文件的目录
suite = unittest.defaultTestLoader.discover(start_dir=cas_dir,pattern="demo0*.py") # * 匹配所有字符
4.测试报告
①BeautifulReport
pip install BeautifulReport # 安装
from BeautifulReport import BeautifulReport
br = BeautifulReport(suite = suite)
br.report(description="测试报告描述",filename="resport.html")
②unittestreport
pip install unittestreport
from unittestreport import TestRunner
runner = TestRunner(
suite = suite,
filename="report02.html",
report_dir="./reports",
title='测试报告',
tester='杨乐元',
desc="打印机项目测试生成的报告",
templates=1
)
runner.run()
③发邮件
runner.send_email(
host="smtp.qq.com",
port=465,
user="470573828@qq.com",
password="sdfsdfsfdsfds",
to_addrs="1332231609@qq.com"
)
数据驱动
一、什么是数据驱动
1.业务流程是固定的,变换的是业务中的数据
2.使用场景:业务流程是一样的,只是请求参数不一样
二、安装ddt
pip install ddt
1.ddt数据驱动
import unittest
from ddt import ddt, data
test_cases = [{"api": "/api/login", "user": "admin"}, {"api": "/api/login", "user": "test"}]
@ddt
class TestDemo(unittest.TestCase):
@data(*test_cases)
def test_01(self, data):
print("数据查看", data)
if __name__ == '__main__':
unittest.main()
2.unittestreport数据驱动
import unittest
from unittestreport import ddt, list_data
test_cases = [{"api": "/api/login", "user": "admin"}, {"api": "/api/login", "user": "test"}]
@ddt
class TestDemo(unittest.TestCase):
@list_data(test_cases)
def test_01(self, data):
print("unittestreport数据查看", data)
if __name__ == '__main__':
unittest.main()
一、配置文件(通过配置文件软编码)
import requests
def login(user, password):
data = {"user":user, "password":password}
res = requests.post(url="/login",json=data)
return res.json()
二、配置文件类型
1.ini配置文件
2.yaml配置文件
3.python文件(最佳选择Django)
三、ini配置文件(字典套字典)
[user] #section
user_name = admin #key value
pass_word = 123456
{"user":{"user_name":"admin",
"pass_word":"123456"},
"host":{"host":"www.baidu.com"}}
特点:
1.[user]不可重复
2.[user]里面的key不可以重复
3.默认数据类型字符串
操作步骤:
from configparser import ConfigParser
conf = ConfigParser()
# 读取ini文件
conf.read(filenames="test.ini",encoding="utf-8")
# 获取section[user]
res1 = conf.sections()
print("ini配置文件数据",res1)
# 获取section的所有值
res2 = conf.options(section="user")
print(res2)
# 获取某个section的具体值
val =conf.get(section="user",option="user_name")
print(val)
771
18
82
270
21
10
17
353
欢迎来到testingpai.com!
注册 关于