本文介绍unittest框架中常用的断言方法
1.断言是否相等
assertEqual(a,b,[msg=‘测试失败时打印的信息’]) -------------------------断言a和b是否相等,相等则测试用例通过
assertNotEqual(a,b,[msg=‘测试失败时打印的信息’])-------------------- 断言a和b是否相等,不相等则测试用例通过
2.断言是否为真
assertTrue(x,[msg=‘测试失败时打印的信息’])------------------------------ 断言x是否True,是True则测试用例通过
assertFalse(x,[msg=‘测试失败时打印的信息’])-----------------------------断言x是否False,是False则测试用例通过
3.断言是否相同
assertIs(a,b,[msg=‘测试失败时打印的信息’])------------------------------- 断言a是否是b,是则测试用例通过
assertNotIs(a,b,[msg=‘测试失败时打印的信息’])-------------------------- 断言a是否是b,不是则测试用例通过
4.断言是否None
assertIsNone(x,[msg=‘测试失败时打印的信息’])-------------------------- 断言x是否None,是None则测试用例通过
assertIsNotNone(x,[msg=‘测试失败时打印的信息’])--------------------- 断言x是否None,不是None则测试用例通过
5.断言是否包含
assertIn(a,b,[msg=‘测试失败时打印的信息’])------------------------------- 断言a是否在b中,在b中则测试用例通过
assertNotIn(a,b,[msg=‘测试失败时打印的信息’])-------------------------- 断言a是否在b中,不在b中则测试用例通过
6.断言是否实例
assertIsInstance(a,b,[msg=‘测试失败时打印的信息’])------------------- 断言a是是b的一个实例,是则测试用例通过
assertNotIsInstance(a,b,[msg=‘测试失败时打印的信息’])-------------- 断言a是是b的一个实例,不是则测试用例通过
引用之前的代码使用assertIn()方法
代码如下:
import unittest,time
from selenium import webdriver
class BaiDu_Search(unittest.TestCase):
def setUp(self):
'''
前置条件准备,准备浏览器
:return:
'''
self.driver = webdriver.Chrome()
self.driver.maximize_window() #窗口最大化
self.driver.implicitly_wait(10) #隐式等待10s查询元素
url = 'http://www.baidu.com/'
self.driver.get(url)
def tearDown(self):
'''
测试结束,关闭浏览器
:return:
'''
self.driver.quit()
def test_search(self):
'''
测试用例脚本,一定要test开头
:return:
'''
self.driver.find_element_by_id('kw').send_keys('selenium')
time.sleep(2)
self.driver.find_element_by_id('su').click()
title = self.driver.title #获取搜索页面title
self.assertIn('selenium',title,msg='The test_search Fail') #断言asserIn是否包含
if __name__=='__main__':
unittest.main()