目标
1. 掌握方法级别和类级别的Fixture
2. 了解模块级别的Fixture
1. Fixture
小需求:在一个测试类中定义多个测试方法,查看每个测试方法执行完所花费的时长。
说明:Fixture是一个概述,对一个测试用例环境的初始化和销毁就是一个Fixture
Fixture控制级别:
1. 方法级别
2. 类级别
模块级别
1.1 方法级别
1.2 类级别
1.3模块级别 [了解]
2. 案例
需求:使用UnitTest框架对tpshop项目测试
1). 点击登录,进入登录页面
2). 输入用户名和密码,不输入验证码,直接点击登录按钮
3). 获取错误提示信息
2.1 示例代码
import time import unittest
from selenium import webdriver class TestLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox() self.driver.get("http://localhost") self.driver.implicitly_wait(10) self.driver.maximize_window()
def test_login(self):
# 点击登录按钮
self.driver.find_element_by_link_text("登录").click()
# 输入用户名
self.driver.find_element_by_id("username").send_keys("13012345678")
# 输入密码
self.driver.find_element_by_id("password").send_keys("123456")
# 点击登录按钮
self.driver.find_element_by_css_selector("[name='sbtbutton']").click()
# 获取错误提示信息
msg = self.driver.find_element_by_css_selector(".layui-layer-content").text print("msg=", msg)
def tearDown(self): time.sleep(3) self.driver.quit()
2.2 总结
1. 必须继承unittest.TestCase类,setUp、tearDown才是一个Fixture
2. setUp:一般做初始化工作,比如:实例化浏览器驱动对象、浏览器最大化、设置隐式等待等
3. tearDown:一般做结束工作,比如:关闭浏览器驱动对象、退出登录等
3. 总结
1. 什么是Fixture?
2. Fixture控制级别有哪些?
如何定义Fixture?
转载自原文链接, 如需删除请联系管理员。
原文链接:Fixture,转载请注明来源!