关于unittest一个简单的代码示例

2020-05-20  本文已影响0人  小邝小邝

"""

搜索两个字符串并断言结果是否符合预期结果,如果不符合预期则抛出断言异常来展示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)

上一篇 下一篇

猜你喜欢

热点阅读