添加skip跳过当前用例不执行
用例断言
assertEqual(self, first, second, msg=None):
first:预期结果
second:实际结果
msg:断言失败后抛出的msg信息
assertIn(self, member, container, msg=None):
member:被包含对象
container:包含体
from selenium import webdriver
import time
import unittest
class Baidu(unittest.TestCase):#继承unittest的testcase基类
@classmethod#装饰器
def setUpClass(cls) -> None:#开始类方法
cls.dr = webdriver.Chrome()
cls.dr.get("http://www.baidu.com")
cls.dr.maximize_window()
time.sleep(2)
@classmethod
def tearDownClass(cls) -> None:#结束类方法
time.sleep(3)
cls.dr.quit()
def setUp(self) -> None:#前置处理
self.dr.find_element_by_id('kw').clear()#清空输入框,解决重复输入问题
time.sleep(3)
def tearDown(self) -> None:#后置处理
time.sleep(5)
self.dr.find_element_by_id('su').click()
time.sleep(3)
title=self.dr.title#获取标题
#self.assertEqual(title,'深圳多测师_百度搜索',msg='testcase error')#通过标题断言
self.assertIn('多测师',title,msg='testcase error!')#用包含该标题断言
#@unittest.skip("test01")#跳过当前用例不执行
def test01(self):
self.dr.find_element_by_id('kw').send_keys('武汉多测师')
#@unittest.skip("test02")#放置在不需要执行的用例前
def test02(self):
self.dr.find_element_by_id('kw').send_keys('深圳多测师')
def test03(self):
self.dr.find_element_by_id('kw').send_keys('杭州多测师')
if __name__ == '__main__':
unittest.main()
批量执行脚本文件
import unittest#导入unittest
case_path=r'D:\pycharm\py' #文件存放路径
dis=unittest.defaultTestLoader.discover(start_dir=case_path,pattern=day11.py')#对应的路径下查找文件
runner=unittest.TextTestRunner()#生成对象
runner.run(dis)#通过对象调用run方法执行文件
进行封装
import unittest#导入unittest
case_path=r'D:\pycharm\py' #文件存放路径
def runall(a):
dis=unittest.defaultTestLoader.discover(start_dir=a,pattern=day11.py')#对应的路径下查找文件
runner = unittest.TextTestRunner() # 生成对象
runner.run(dis)#通过对象调用run方法执行文件
runall(case_path)
htmltestrunner生成测试报告
在python安装文件的Lib目录下新增文件HTMLtestRunner.py
import unittest
from HTMLtestRunner import HTMLTestRunner
import time
case_path=r'D:\pycharm\py' #文件存放路径
dis=unittest.defaultTestLoader.discover(start_dir=case_path,pattern=day11.py')#对应的路径下查找文件
Time=time.strftime("%Y-%m-%d-%H-%M-%S")#获取当前时间
reportname=Time+"report.html"#用时间接文件名称
dir=open(reportname,"wb")#打开文件,wb代表二进制,文件前可以加保存路径
runner=HTMLTestRunner(stream=dir,title="TestReport",tester='xiaoliu',description="用例执行情况如下:")
runner.run(dis)
测试报告发送邮箱
import unittest
from HTMLtestRunner import HTMLTestRunner
import time
import Email
case_path=r'D:\pycharm\py' #文件存放路径
dis=unittest.defaultTestLoader.discover(start_dir=case_path,pattern='day11.py')#对应的路径下查找文件
Time=time.strftime("%Y-%m-%d-%H-%M-%S")#获取当前时间
reportname=Time+"report.html"#用时间接文件名称
dir=open(reportname,"wb")#打开文件,wb代表二进制,文件前可以加保存路径
runner=HTMLTestRunner(stream=dir,title="TestReport",tester='xiaoli',description="用例执行情况如下:")
runner.run(dis)
email=Email.Sum_Mail(reportname,reportname)
email.send_mail()
|
|