关于unittest一个简单的代码示例
"""
搜索两个字符串并断言结果是否符合预期结果,如果不符合预期则抛出断言异常来展示Unittest中这4个核心部分是如何使用的。
在代码示例中将定义一个名为Seach_KeyWords的类,并定义两个测试方法test_search_davieyang()和test_search_selenium()
"""
from seleniumimport webdriver
import unittest#引入unittest模块
import time#引入time模块
#声明一个Search_KeyWords类,并集成unittest.TestCase
class Search_KeyWords(unittest.TestCase):
def setUp(self):#定义Test Fixture中的setUp(self):函数
self.driver = webdriver.Chrome()#在setUp(self):中定义webdriver启动Chrome浏览器
self.driver.implicitly_wait(30)#隐性等待,最迟30秒
self.url ='http://www.baidu.com' #定义url
#定义测试方法,Unittest框架中的测试方法需要以test开头
def test_search_davieyangg(self):
driver =self.driver
driver.get(self.url)#驱动浏览器打开url,url在setUp()中已经定义
driver.find_element_by_id("kw").clear()#清空输入框
driver.find_element_by_id("kw").send_keys("davieyang")#输入字符davieyang
driver.find_element_by_id("su").click()#单击“百度一下”按钮
time.sleep(3)#强制等待3秒
try:
#断言字符串davieyang是否存在于页面中,如果不存在则抛出断言异常
self.assertTrue("davieyang" in driver.page_source)
except AssertionError as e:
raise e#抛出断言异常
def test_search_selenium(self):
driver =self.driver
driver.get(self.url)# 驱动浏览器打开url,url在setUp()中已经定义
driver.find_element_by_id("kw").clear()# 清空输入框
driver.find_element_by_id("kw").send_keys("selenium")# 输入字符selenium
driver.find_element_by_id("su").click()# 单击“百度一下”按钮
time.sleep(3)# 强制等待3秒
try:
# 断言字符串davieyang是否存在于页面中,如果不存在则抛出断言异常
#self.assertTrue("davieyang" in driver.page_source)
self.assertTrue("selenium" in driver.page_source)
except AssertionError as e:
raise e# 抛出断言异常
def tearDown(self):
self.driver.quit()
if __name__ =="__main__":
#定义TestSuite
suite = unittest.TestCase()
#将定义好的测试方法装载到TestSuite()中,需要执行哪个就装载哪个
suite.addTest(Search_KeyWords('test_search_davieyang'))
suite.addTest(Search_KeyWords('test_search_selenium'))
#定义TestRunner
runner = unittest.TestRunner()
#执行TestRunner执行TestSuite()中所装载的测试方法
runner.run(suite)