博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@classmethod装饰器
阅读量:5225 次
发布时间:2019-06-14

本文共 1243 字,大约阅读时间需要 4 分钟。

当一个类中有多条用例,我们在执行的时候每执行一条用例就要重新打开一次浏览器操作,例如下:

start

test1

quit

start

test2

start

若我们使用@classmethod装饰器,就只需要打开一次浏览器,执行完用例后再关闭,例如下:

start

test1

test2

quit

 

代码:

from selenium import webdriver import unittest,time from selenium.webdriver.support import expected_conditions as EC class Test1(unittest.TestCase):     #测试类,是多个测试用例的集合,可以把一些相同的操作写成一个类 @classmethod     def setUpClass(cls):         cls.driver=webdriver.Chrome()         cls.driver.get("http://www.cnblogs.com/linbao/")         time.sleep(2)     def test_01(self):         u'''验证元素存在:博客园'''         locator = ("id", "blog_nav_sitehome")         text = u"博客园"         time.sleep(2)         result = EC.text_to_be_present_in_element(locator, text)(self.driver)         time.sleep(2)         self.assertTrue(result)     def test_02(self):         u'''验证元素存在:首页'''         locator = ("id", "blog_nav_myhome")         text = u"首页"         time.sleep(2)         result = EC.text_to_be_present_in_element(locator, text)(self.driver)         time.sleep(2)         self.assertTrue(result)  @classmethod     def tearDownClass(cls):         # 后置操作         time.sleep(2)         cls.driver.quit() if __name__=="__main__":     #运行主函数     unittest.main()

 

转载于:https://www.cnblogs.com/linbao/p/7568721.html

你可能感兴趣的文章
Nginx反向代理和负载均衡部署指南
查看>>
Spring IOC和Spring AOP的实现原理(源码主线流程)
查看>>
看天猫EDM营销学企业EDM营销
查看>>
设计模式—桥接模式
查看>>
react-native中的请求数据
查看>>
jquery判断checked的三种方法
查看>>
Python入门3_之使用字符串
查看>>
std::map使用结构体自定义键值
查看>>
Swift 与 JSON 数据
查看>>
一个老程序员的十年回顾:
查看>>
bzoj 3028 食物
查看>>
老男孩python学习_day003作业
查看>>
yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
查看>>
jQuery积累:serialize()、stringify()、toJSON()
查看>>
Python web 周总结
查看>>
Sequelize为什么需要使用Migrations
查看>>
数组undefined 逗号
查看>>
SSM-SpringMVC一些知识点
查看>>
关于URL编码的问题
查看>>
React.js 小书 Lesson22 - props.children 和容器类组件
查看>>