Unittest自动化框架使用

Unittest:

  单元测试框架

  测试用例必须以test开头

Unittest方法使用:

  unittest.TestCase------测试用例,必须继承

  unittest.main-----执行

  unittest.skip()------注释,并不执行该用例

  TestCase.assert*()-----断言方法,判断用例是否执行通过

  TestCase.setUp()-------前置,每个测试用例执行一次

  TestCase.tearDown()--------后置,每个测试用例执行一次

Unittest案例:

import unittest
from selenium import webdriver
import  time
class unitTest(unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Chrome()
    def testLogin(self):
        self.driver.get('http://www.sport-covers.com/')
        time.sleep(4)
        self.driver.find_element_by_css_selector('body > div.container-top > div > div.sport-user > div.user-btn > a.btnUser.btnUserLogin').click()
        time.sleep(4)
        text = self.driver.find_element_by_css_selector('body > div.login-bg > div > div > div.login-logo > span').get_attribute('innerHTML')
        print('取值%s',text)
        self.assertIn('用户登录',text,'跳转登录页面失败')
    def tearDown(self):
        self.driver.close()
if __name__ == '__main__':
    unittest.main

Unittest的断言方法:

  assertEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,相等则测试用例通过

  assertNotEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,不相等则测试用例通过

  assertTrue(x,[msg='测试失败时打印的信息']):断言x是否为真,是真则测试用例通过

  assertFalse(x,[msg='测试失败时打印的信息']):断言x是否为假,是假则测试用例通过

  assertls(a,b,[msg='测试失败时打印的信息']):断言a是否是b,是则测试用例通过

  assertNotls(a,b,[msg='测试失败时打印的信息']):断言a是否是b,不是则测试用例通过

  assertlsNone(x,[msg='测试失败时打印的信息']):断言x是否为None,是则测试用例通过

  assertlsNotNone(x,[msg='测试失败时打印的信息']):断言x是否不为None,是则测试用例通过

  assertln(a,b,[msg='测试失败时打印的信息']):断言a,是否在b中,在b中则测试用例通过

  assertNotln(a,b,[msg='测试失败时打印的信息']):断言a是否在b中,不在b中则测试通过

  assertlsinstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,是则测试通过

  assertNotlsinstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,不是则测试通过

Unittest执行:

  单次执行:

  批量执行:

    1)测试套件:

        unittest.TestSuite()

        unittest.defaultTestLoader()

    2)执行方法:

        unittest.TextTextRunner()

    

文章链接地址:http://mumuling.com/?p=90

 

猜你喜欢

转载自www.cnblogs.com/cpxjl/p/9168065.html