unittest是Python单元测试框架,在web端UI自动化测试过程中,可以使用unitest框架。
目录
unitest的小例子:?
unitest断言
unitest生成测试报告
1.下载HTMLTestRunner.py文件
2.编写生成报告的py文件
下面是以打开百度为例子,介绍下unitest:
关于selenium可以查看web端UI自动化,Selenium基础_python_problem的博客-CSDN博客Selenium是一款用于web自动化的工具,支持多系统、多浏览器、多语言;以下是在学习selenium时的笔记。https://blog.csdn.net/python_problem/article/details/120874185?spm=1001.2014.3001.5501
unitest的小例子:?
import unittest
from time import sleep
from selenium import webdriver
# 编写一个python类,继承 unittest模块中的TestCase类,这就是一个测试类
class MyUnit(unittest.TestCase):
# 开始函数,环境的搭建,最先被调用的函数
def setUp(self):
# 打开浏览器,获取浏览器驱动对象
self.driver = webdriver.Chrome()
# 设置等待时间,隐式等待
self.driver.implicitly_wait(30)
# 最大化窗口
self.driver.maximize_window()
# 主机路径
self.baseUrl = 'http://www.baidu.com'
# 用例函数,函数名称前必须是test
def test_baidu(self):
# 打开链接
self.driver.get(self.baseUrl)
# 结束函数,环境的还原,最先被调用的函数
def tearDown(self):
# 关闭浏览器
sleep(3) # 关闭前,代码睡眠3秒钟
self.driver.quit()
if __name__ == '__main__':
# 执行测试 类中以 test 开头的测试用例
unittest.main
在unitest中常用的还有断言和生成测试报告
unitest断言
常用的三个断言语句:
assertEqual(a, b)? ? ? ? ?断言a==b
assertNotEqual(a, b)? ? ? ? 断言a!=b
assertTrue(x)? ? ? ? 断言bool(x) is True
详细断言方法可见这篇博客:
unittest---unittest断言 - 测试-安静 - 博客园
unitest生成测试报告
1.下载HTMLTestRunner.py文件
htmltestrunner.py安装_2021之前的三个月的崛起博客-CSDN博客首先在百度页面输入,htmltestrunner找到一个链接https://pypi.org/project/HTMLTestRunner/点击左侧菜单 下载按钮点击页面中的htmltestrunner.py打开新的页面 鼠标右键,点击另存为存到自己想保存的地方 。...https://blog.csdn.net/xxhhdd/article/details/93744806?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.no_search_link
2.编写生成报告的py文件
import unittest
from test.run.MyUnit import MyUnit
from test.run.HTMLTestRunnerX import HTMLTestRunner
if __name__ == '__main__':
# 1.获取测试套件
suite = unittest.TestSuite()
# 2.测试套件中添加测试用例
suite.addTest(unittest.TestLoader().loadTestsFromTestCase(MyUnit))
# 3.获取运行器对象
f = open('../repots/baidu.html', mode='wb') # 报告存储位置
# stream存储位置,verbosity报告的详细程度,title报告名称
runner = HTMLTestRunner(stream=f, verbosity=3, title='百度title名称显示')
# 4.生成测试报告 (使用运行器对象去运行测试套件)
runner.run(suite)
生成报告的执行代码,需要单独装在文件里,否则会出现用例执行成功却没有生成报告的情况。
|