UnitTest测试框架学习(01)

2022-07-21 14:42:19 浏览数 (1)

一、UnitTest模块是Python标准库中的模块,提供了很多类和方法处理测试工作。

l 测试用例-testase

l 测试固件-testfixture

l 测试套件-testsuit

l 测试运行器-testrunner

这四个东西的关系:测试用例-testcase是最底层的,测试用例可以组合成测试套件-testsuit,而测试固件-testfixture则是测试中固定的代码,是代码的固定部分,测试运行器-testrunner则是用例运行测试用例输出测试结果。

二、UnitTest模块是通过继承TestCase类进行构建单元测试用例,具体语法如下:

class 测试类名 (unittest.TestCase):

测试用例1

测试用例2

测试用例3

.............

那么问题来了,测试用例是通过什么来判断是否通过?

通过TestCase类断言进行判断测试是否通过,比如以下的断言

assertEqual(预期值,实际值)

assertNotEqual(预期值,实际值)

assertTrue(表达式)

assertFalse(表达式)

代码例子:

代码语言:javascript复制
#!/usr/bin/env python
#coding=utf-8
import unittest
from selenium import webdriver
import time
class TestBaidu(unittest.TestCase):

    def setUp(self):
        self.driver=webdriver.Firefox()
        url="http://www.baidu.com"
        self.driver.get(url)
    def test_baiduPage(self):
        title=self.driver.title
        self.assertLessEqual("百度一下,你就知道",title)
    def test_search_selenium(self):
        inputElement= self.driver.find_element_by_id("kw")
        inputElement.clear()
        inputElement.send_keys("selenium")
        buttonElement=self.driver.find_element_by_id("su")
        buttonElement.clear()
        title=self.driver.title
        self.assertEqual("selenium_百度搜索",title)
        def tearDown(self):
            self.firefoxBrower.quit()
def suit():
    test_baidu=unittest.TestSuite()
    test_baidu.addTest(test_baidu("test_baiduPage"))
    test_baidu.addTest(test_baidu("test_search_selenium"))
    return  test_baidu
if __name__ =="main":
    runner=unittest.TextTestRunner()
    runner.run(suit)

PS:Python selenium 官方帮助文档地址:

https://selenium-python.readthedocs.io/getting-started.html

,没有

0 人点赞