selenium-Python之unittest(三)

来源:互联网 发布:手机网络抓包工具 编辑:程序博客网 时间:2024/06/06 20:43

unittest之skip

skip装饰器一共有三个 :

  • unittest.skip(reason)—无条件跳过用例,用例不会被执行;
  • unittest.skipIf(condition, reason)—条件为真时,跳过该用例,用例不会被执行;
  • unittest.skipUnless(condition, reason)—条件为假时,跳过该用例,用例不被执行;

代码示例如下:

#encoding=utf-8import unittestimport stringfrom selenium import webdriverfrom time import sleepclass Test(unittest.TestCase):    def setUp(self):        print 'start'    @unittest.skipUnless(1==1,'skipUnless is false ,so not run test_assert_equal')    #结果为 False 就 skip 这条用例    def test_assert_equal(self):        self.assertEqual(1,1,'not equal ')    def test_assert_not_equal(self):        self.assertNotEqual(1,2,'1 not equal 2')    def test_assert_True(self):        self.assertTrue(1==1, '1!=2')    @unittest.skipIf(1==2,'skipIf is true, so not run test_assert_False')    #结果为 True 就 skip 该条用例    def test_assert_False(self):        self.assertFalse(1==2, '1!=2')    #无条件跳过这条用例,不执行    @unittest.skip('not run this case: test_assert_In')    def test_assert_In(self):        self.driver=webdriver.Chrome(executable_path='c:\\Python27\\chromedriver')        self.driver.get("https://www.baidu.com/")        sleep(1)        self.assertIn(u'百度',self.driver.page_source,'百度 is not in page_spurce')    def test_assert_instance(self):        self.assertIsInstance(1,int,'1 is not instance int')    def tearDown(elf):        print 'over'if __name__=='__main__':    unittest.main()

执行脚本run.py如下:

#encoding=utf-8import unittestfrom test_case import test01import timesuite=unittest.TestSuite()suite.addTest(test01.Test('test_assert_equal'))suite.addTest(test01.Test('test_assert_False'))suite.addTest(test01.Test('test_assert_In'))if __name__=="__main__":    with open('unittestTextReport.txt','a') as fp:        fp.write('\n')        fp.write(time.strftime('%Y-%m-%d %H:%M:%S')+' 测试执行结果'+'\n')        runner=unittest.TextTestRunner(stream=fp,verbosity=2)        runner.run(suite)

执行结果如下:

2017-11-07 18:06:17 测试执行结果test_assert_equal (test_case.test01.Test) ... oktest_assert_False (test_case.test01.Test) ... oktest_assert_In (test_case.test01.Test) ... skipped 'not run this case: test_assert_In'----------------------------------------------------------------------Ran 3 tests in 0.001sOK (skipped=1)

目录如下:
这里写图片描述