• (引用) unittest测试驱动之执行测试(三)


    转载:http://www.wtoutiao.com/p/ydeoyY.html

    在unittest的模块中,提供了TestRunner类来进行运行测试用例,在实际的应用中,经常使用的是TextTestRunner类,执行后,会已文字的形式打印出测试结果,见如下的测试执行的代码:

    #coding:utf-8

    from seleniumimport webdriver

    import unittest

    classbaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    def testBaiduTitle(self):

    self.assertIn(u'百度一下,你就知道',self.driver.title)

    def testBaiduTitle2(self):

    self.assertNotEqual(u'bing下,你就知道',self.driver.title)

    def tearDown(self):

    self.driver.close()

    if__name__=='__main__':

    suite=unittest.TestSuite()

    suite.addTest(baiduTest('testBaiduTitle'))

    suite.addTest(baiduTest('testBaiduTitle2'))

    #执行用例

    runner=unittest.TextTestRunner()

    runner.run(suite)

    执行后,生成如下的测试结果,见截图:


    一、unittest.skip()

    unittest.skip('注释')是忽略此测试,但是得写忽略该case的原因,如在一个自动化的测试模块中,由于某些功能取消,那么对应的case也就不再执行,可以添加unittest.skip("忽略该测试用例"),见下面的代码示例,忽略了测试百度url的测试用例,见测试代码:

    #coding:utf-8

    from seleniumimport webdriver

    importunittest,sys,time

    reload(sys)

    sys.setdefaultencoding('utf-8')

    classBaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    self.driver.implicitly_wait(30)

    def testTitle(self):

    self.assertEqual(u'百度一下,你就知道',self.driver.title)

    @unittest.skip('Ignore this test case')

    def testUrl(self):

    self.assertEqual('https://www.baidu.com/',self.driver.current_url)

    def tearDown(self):

    self.driver.quit()

    @staticmethod

    def suite():

    suite=unittest.TestSuite(unittest.makeSuite(BaiduTest))

    return suite

    if__name__=='__main__':

    unittest.TextTestRunner(verbosity=2).run(BaiduTest.suite())

    见执行后的结果,跳过了testUrl测试用例的执行,见截图:

    二、unittest.expectedFailure

    unittest.expectedFailure指的是期望失败,见下面的测试代码。期望testUrl测试用例执行失败:

    #coding:utf-8

    from seleniumimport webdriver

    importunittest,sys,time

    reload(sys)

    sys.setdefaultencoding('utf-8')

    classBaiduTest(unittest.TestCase):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    self.driver.implicitly_wait(30)

    def testTitle(self):

    self.assertEqual(u'百度一下,你就知道',self.driver.title)

    @unittest.expectedFailure

    def testUrl(self):

    self.assertEqual('http://www.baidu',self.driver.current_url)

    def tearDown(self):

    self.driver.quit()

    @staticmethod

    def suite():

    suite=unittest.TestSuite(unittest.makeSuite(BaiduTest))

    return suite

    if__name__=='__main__':

    unittest.TextTestRunner(verbosity=2).run(BaiduTest.suite())

    见执行后的测试结果,会显示出来期望的结果是成功还是失败,见截图:

  • 相关阅读:
    Nginx之keepalived高可用工具
    Linux安装Nginx
    Nginx解决服务器宕机问题
    前端知识小札
    SQL入门(3):定义约束/断言assertion/触发器trigger
    SQL入门(2): Oracle内置函数-字符/数值/日期/转换/NVL/分析函数与窗口函数/case_decode
    Excel VBA入门(8): 快捷键/内置常量/代码调试/错误处理/代码优化
    小学生都看得懂的C语言入门(6): 字符串
    小学生都看得懂的C语言入门(5): 指针
    小学生都看得懂的C语言入门(4): 数组与函数
  • 原文地址:https://www.cnblogs.com/zyp1/p/6018670.html
Copyright © 2020-2023  润新知