一、测试用例
1、找到工程的路径
import os def base_dir(): """获取当前工程的路径""" return os.path.dirname(os.path.dirname(__file__))
2、添加一个测试用例并写进去
import unittest
import HTMLTestRunner
from utils.pathUtils import base_dir
import os
import time
def suites():
"""获取被执行的测试套件"""
suite=unittest.TestLoader().discover(
start_dir=os.path.join(base_dir(),'test'),
pattern='test_*.py',
top_level_dir=None
)
return suite
def nowTime():
return time.strftime('%y_%m_%d_%H_%M_%S',time.localtime())
def run():
"""执行测试套件"""
fp=open(os.path.join(base_dir(),'report',nowTime()+'report.html'),'wb')
runner=HTMLTestRunner.HTMLTestRunner(
stream=fp,
title="QQ邮箱测试报告",
description='测试邮箱报告详细信息'
)
runner.run(suites())
if __name__ == '__main__':
run()
import unittest
import HTMLTestRunner
from utils.pathUtils import base_dir
import os
import time
def suites():
"""获取被执行的测试套件"""
suite=unittest.TestLoader().discover(
start_dir=os.path.join(base_dir(),'test'),
pattern='test_*.py',
top_level_dir=None
)
return suite
def nowTime():
return time.strftime('%y_%m_%d_%H_%M_%S',time.localtime())
def run():
"""执行测试套件"""
fp=open(os.path.join(base_dir(),'report',nowTime()+'report.html'),'wb')
runner=HTMLTestRunner.HTMLTestRunner(
stream=fp,
title="QQ邮箱测试报告",
description='测试邮箱报告详细信息'
)
runner.run(suites())
if __name__ == '__main__':
run()
执行以上代码,会把测试报告写进去,如:

二、unittest框架的组成
base:基础类
config:配置文件
data:存储测试数据的
image:存储图片文件的
log:存储日志文件
page:对象层
report:存储测试报告
test:测试模块
utils:工具类
run.py:程序执行的入口
1、封装函数(底层)
from selenium.webdriver.common.by import By from selenium.webdriver.support.expected_conditions import NoSuchElementException from selenium.webdriver.support.wait import WebDriverWait from selenium import webdriver class WebDriver: def __str__(self): return 'driver' def findElement(self,*loc): #*loc return self.driver.find_element(*loc) def findElements(self,*loc): return self.driver.find_elements(*loc) def findFrame(self, frameID): return self.driver.switch_to.frame(frameID)
2、页面操作
from selenium.webdriver.common.by import By from selenium.webdriver.support.expected_conditions import NoSuchElementException from selenium.webdriver.support.wait import WebDriverWait from selenium import webdriver class WebDriver: def __str__(self): return 'driver' def findElement(self,*loc): #*loc return self.driver.find_element(*loc) def findElements(self,*loc): return self.driver.find_elements(*loc) def findFrame(self, frameID): return self.driver.switch_to.frame(frameID)
3、执行测试用例
import unittest
from selenium import webdriver
import time as t
from page.login import Login
class QQTest(unittest.TestCase,Login):
def setUp(self) -> None:
self.driver=webdriver.Chrome()
self.driver.maximize_window()
self.driver.get('https://file.qq.com/')
self.driver.implicitly_wait(30)
def tearDown(self) -> None:
self.driver.quit()
def test_file_qq_001(self):
'''登录验证:校验全选是否勾选'''
# self.driver.switch_to.frame('login_frame1')
# t.sleep(2)
# isRadio=self.driver.find_element_by_id('select_all')
# self.assertEqual(isRadio.is_selected(),True)self.loginFrame()
self.frameID
self.assertEqual(self.isSelected(), True)
if __name__ == '__main__':
unittest.main(verbosity=2)
执行以上以上代码,结果为:

浙公网安备 33010602011771号