unittest单元测试框架之unittest 框架的总结2(八)

unittest 下的属性

1.Unittest.TestCase:所有测试用例类继承的基本类

2.Unittest.main():将一个单元测试模块变为可直接运行的测试脚本

 If __name__ == “__main__”: 
        Unittest.main()

3.Unittest.TestSuite:创建测试套件

4.unittest.TextTestRunner():unittest 框架的 TextTestRunner()类,通过该类下面的 run()方 法来运行 suite 所组装的测试用例,入参为 suite 测试套件。

5.unittest.defaultTestLoader(): defaultTestLoader()类,通过该类下面的 discover()方法可 自动根据测试目录 start_dir 匹配查找测试用例文件(test*.py),并将查找到的测试用例 组装到测试套件,因此可以直接通过 run()方法执行 discover

6.unittest.skip():跳过某条测试用例

7.TestCase 类的属性:

  • setUp():setUp()方法用于测试用例执行前的初始化工作。如测试用例中需要访问数据 库,可以在 setUp 中建立数据库连接并进行初始化。如测试用例需要登录 web,可 以先实例化浏览器。
  • tearDown():tearDown()方法用于测试用例执行之后的善后工作。如关闭数据库连接。 关闭浏览器。
  • 断言方法:assert

8.TestSuite 类:把测试用例加载到测试套件中,常用方法是 addTest()与 addTests()

9.TextTestRunner():下 run 方法,执行测试套件中的测试用例。

案例:

test

 1 from selenium import webdriver
 2 import unittest
 3 from time import sleep
 4 class MsTest(unittest.TestCase):
 5    # 初始化
 6    def setUp(self):
 7  
 8    self.driver = webdriver.Firefox()
 9    self.driver.implicitly_wait(10)
10    self.base_url = "http://localhost:8032/ms/admin.php/Index/index"
11    # 登录与退出
12    # 测试方法一定要以 test_开头
13    def test_Login(self):
14      driver = self.driver
15      driver.get(self.base_url)
16 
17      driver.find_element_by_xpath("//input[@id='username']").send_keys("admin")
18 
19      driver.find_element_by_xpath("//input[@id='password']").send_keys("admin")
20      driver.find_element_by_xpath("//button[@class='btn btn-default btnblock']").click()
21      sleep(4)
22      driver.find_element_by_xpath("//a[contains(.,'Hi, admin! ')]").click()
23 
24      driver.find_element_by_xpath("//a[@href='/ms/admin.php/Public/logout']").click()
25 26    def tearDown(self):
27      self.driver.quit()
28   if __name__ == "__main__":
29      unittest.main()

runtest

1 import unittest
2 from UnittestDemo.MSDemo.ms_test import MsTest
3 # 构建测试套件
4 suite = unittest.TestSuite()
5 suite.addTest(MsTest("test_Login"))
6 # 执行测试
7 if __name__ == "__main__":
8    runner = unittest.TextTestRunner()
9    runner.run(suite)
原文地址:https://www.cnblogs.com/yangyang521/p/10076184.html