找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
添加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()

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册