A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2019-9-19 11:44  /  813 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】Fixture
目标
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 示例代码
[AppleScript] 纯文本查看 复制代码
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)
[AppleScript] 纯文本查看 复制代码
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?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马