selenium自动化测试unittest单元测试框架
程序员文章站
2024-03-15 18:23:30
...
- 断言方法
- unittest整体结构
- 举个栗子(百度搜索页测试用例)
一、断言方法
方法 | 检查 |
---|---|
assertEqual(a,b) | a == b |
assertNotEqual(a,b) | a != b |
assertTrue(x) | bool(x) is True |
assertFalse(x) | bool(x) is False |
assertIs(a,b) | a is b |
assertIsNot | a is not b |
assertIsNone(x) | x is None |
assertIsNotNone(x) | x is not None |
assertIn(a,b) | a in b |
assertNotIn(a,b) | a not in b |
assertIsInstance(a,b) | isinstance(a,b) |
assertNotIsInstance(a,b) | not isinstance(a,b) |
二、unittest整体结构
Test Case
一个TestCase的实例就是一个测试用例。什么是测试用例?就是一个完整的测试流程,包括测试前准备环境的搭建、实现测试过程的代码,以及测试后环境的还原。单元测试的本质,一个测试用例就是一个完整的测试单元,通过运行这个测试单元,可以对某一功能进行验证。
Test Suite
一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起来执行,这就产生了测试套件TestSuite的概念。Test Suite用来组装单个测试用例。可以通过addTest加载TestCase到TestSuite中,从而返回一个TestSuite实例。
Test Runner
测试的执行也是单元测试中非常重要的一个概念,一般单元测试框架中都会提供丰富的执行策略和执行结果。在unittest单元测试框架中,通过TextTestRunner类提供的run()方法来执行test suite/test case。test runner可以使用图形界面、文本界面,或返回一个特殊的值等方式来表示测试执行的结果。
Test Fixture
对一个测试用例环境的搭建和销毁,就是一个fixture,通过覆盖TestCase和setUp()和tearDown()方法来实现。比如说在这个测试用例中需要访问数据库,那么可以在setUp()中通过建立数据库连接来进行初始化,在tearDown()中清除数据库产生的数据,然后关闭连接等。
三、举个栗子
from selenium import webdriver
import unittest
import time
class MyTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
self.base_url = 'http://www.baidu.com'
def test_baidu(self):
driver = self.driver
driver.get(self.base_url + '/')
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("unittest")
driver.find_element_by_id("su").click()
time.sleep(2)
title = driver.title
self.assertEqual(title,"unittest_百度搜索")
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug
知乎:叄贰壹
简书:带只拖鞋去流浪
推荐阅读
-
selenium自动化测试unittest单元测试框架
-
Spring集成Junit单元测试框架
-
selenium+headless chrome 自动化测试登陆页面并截图
-
Android App开发的自动化测试框架UI Automator使用教程
-
Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例
-
Android App开发的自动化测试框架UI Automator使用教程
-
Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例
-
详解Java单元测试Junit框架实例
-
详解Java单元测试Junit框架实例
-
pytest自动化测试框架--pytest.fixtures