zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    linux下,webpack热重载无效的解决方法
    前端异步编程之Promise和async的用法
    防呆设计(内容摘录)
    GUI 图形用户界面 [学习笔记]
    15条JavaScript最佳实践【转】
    2013-11-02 【webrebuild广州站】分享会纪要
    关于自控力
    记录一次抖音小程序严重bug(组件样式继承问题)
    微信 头条小程序 记录一次电商项目倒计时活动优化
    微信/头条小程序如何确保异步请求执行完后再执行各页面的onLoad方法
  • 原文地址:https://www.cnblogs.com/yangyang521/p/10076184.html
Copyright © 2011-2022 走看看