Python数据驱动ddt模块,与测试报告的生成
2020-07-15 06:21
716 查看
数据驱动ddt模块,与测试报告的生成
与上一篇博客一样拿登录测试来讲首先建立一个命名为login.py的文件,并写上登录过程中需要调用的方法login_check()
def login_check(username,password): ''' :param username: 登录用户名 :param password: 登录密码 :return: ''' if 6<=len(password)<=18: if username=='admin' and password=='123456': return {'code':0,'msg':'登录成功'} else: return {'code':1,'msg':'账号密码不正确'} else: return {'code':1,'msg':'密码长度在6-18之间'}
设计测试用例验证上面登录是否正常
- 账号密码对
- 账号密码不匹配
- 密码小于6 4. 密码大于18
- 账号错误
接着在login_test.py文件里加入ddt模块
- 需要引用ddt模块并且引用其中的data,unpack,ddt修饰器
- data用于输入测试数据,unpack用于分解数据
import unittest from day2.day9 import login from ddt import data,unpack,ddt test_data=(('admin','123456','登录成功'),('adddd','123456','账号密码不正确'), ('admin','11234565','账号密码不正确'),('admin','12345','密码长度在6-18之间'), ('admin','12345678912345678912','密码长度在6-18之间')) @ddt class Login_test(unittest.TestCase): @data(*test_data) @unpack #有了unpack后就会把输入数据分别输送给username,password,ex def test_login(self,username,password,ex): result= login.login_check(username,password) excepted = result['msg'] try: self.assertEqual(excepted,ex) except AssertionError as e: print("该用例未通过") result = '不通过' raise e else: print("该用例通过") result = '通过'
最后可以在测试集合里面引入HTMLTestRunner生成测试报告
# -*- coding:utf-8 -*- import unittest from HTMLTestRunner import HTMLTestRunner from day2.day10 import dome_ddt s=unittest.TestSuite() l=unittest.TestLoader() s.addTest(l.loadTestsFromTestCase(dome_ddt.Login_test)) with open(‘filename’,'wb' ) as f: #filename为生成报告的文件名 test=HTMLTestRunner( stream=f, verbosity=2, #详细程度 title='测试报告', description="第一份测试报告", tester="NAME") test.run(s)
- 也可以指定文件夹生成测试报告
- 并加上当前时间来命名报告以便于区分
import time now = time.strftime("%m%d_%H_%M_%S",time.localtime(time.time())) #%m、%d、%H、%M、%S分别表示月、日、时、分、秒 filename=r"想要保存的根目录"+now+r"report.html" with open(filename,'wb' ) as f: test=HTMLTestRunner( stream=f, verbosity=2, #详细程度 title='测试报告', description="第一份测试报告", tester="NAME") test.run(s)
(转载请注明出处)
相关文章推荐
- ddt模块封装测试数据,生成HTML测试报告
- Python3.X + selenium2 CSDN 登入模块完整测试用例 并生成测试报告
- Python模块学习之HTMLTestRunner生成测试报告
- Python 随机生成测试数据的模块:faker基本使用方法详解
- Python:随机生成测试数据的模块--faker的基本使用
- 抛砖引玉——分布式数据驱动自动化测试框架结构Python+Selenium+Unittest+Ddt+HTMLReport
- Python模块学习之HTMLTestRunner生成测试报告
- Python_生成测试数据
- python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,并不像某些人写的每次只执行一个测试类,具体看代码,附上整个project代码
- 6.Python-Selenium测试报告生成(通过接口)-淘宝视频教程笔记
- Python&Selenium&pytest借助allure生成自动化测试报告
- python selenium2示例 - 生成 HTMLTestRunner 测试报告
- python生成xml格式测试报告
- Selenium(Python)生成Html测试报告
- Jmeter学习(一)登录接口、接口返回json数据获取、跨接口参数传递、图表测试报告生成
- Python&Selenium借助html-testRunner生成自动化测试报告
- Appium+Python之生成html测试报告
- HTMLTestRunner模块--生成自动化测试报告
- Appium跑python脚本自动生成简单测试结果报告