@classmethod装饰器
当一个类中有多条用例,我们在执行的时候每执行一条用例就要重新打开一次浏览器操作,例如下:
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()
@classmethod装饰器的更多相关文章
- 手动实现staticmethod和classmethod装饰器
首先,staticmethod和classmethod装饰器是通过非数据描述符实现的.用法简单,这里就不细说了. 这里主要分析一下staticmethod和classmethod是如何通过描述符实现的 ...
- unittest(@classmethod 装饰器)
1.前言: 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不 ...
- day28 classmethod 装饰器
类方法装饰类方法 把一个方法变成类中的方法 之后调用此方法不需要对类实例化后在调用 直接通过类.方法即可调用 class Goods: __discount = 0.5 def __init__(se ...
- 3.4 unittest之装饰器(@classmethod)
3.4 unittest之装饰器(@classmethod) 前言前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例 ...
- (unittest之装饰器(@classmethod)) 让多个测试用例在一个浏览器里面跑 的方法
一.装饰器 1.用setUp与setUpClass区别 setup():每个测试case运行前运行teardown():每个测试case运行完后执行setUpClass():必须使用@classmet ...
- Selenium2+python-unittest之装饰器(@classmethod)
原文地址:http://www.cnblogs.com/yoyoketang/p/6685416.html 前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量 ...
- Selenium2+python自动化55-unittest之装饰器(@classmethod)
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- Python + selenium + unittest装饰器 @classmethod
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- Selenium2+python自动化55-unittest之装饰器(@classmethod)【转载】
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
随机推荐
- SQL数据库有阻塞就自动发邮件警报
1.建查询是否有阻塞的视图 create view [dbo].[VW_WaitingCount] as SELECT s.session_id, r.blocking_session_id, s.h ...
- ionicframework(二)
Start building with Ionic! Follow these quick steps and start building high quality mobile apps in m ...
- windowsclient开发--怎样測量一个字符串显示的物理长度
首先须要说明的是,我所说的字符串的长度,不是string的length,也不是string的size.我指的是显示的长度.即物理长度. 缘由: 之所以要提到这个.是由于遇到了一些问题. 再使用duil ...
- 【前端】jQuery
一.jQuery是什么? 1.jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其team 2.jQuery是继prototype之后有一个优秀的 ...
- Linux命令-网络命令:mail
root用户发送邮件 mail wangyunpeng 给wangyunpeng发送邮件,wangyunpeng不在线也可以收到发送的邮件 wangyunpeng用户接收邮件 mail 接收邮件 he ...
- Android 4.4KitKat Sound System
Alsa Lib: File path:external/tinyalsa Audio Hal Library: Core File path:hardware/libhardware_legacy/ ...
- Atitit.减少http请求数方案
Atitit.减少http请求数方案 1. 原理与方法1 1.1. -------jsp1 1.2. "index/js.txt";2 1.3. connReduceDync2 1 ...
- source insight 支持verilog 及使用技巧
安装 1.首先到官网下载clf文件 http://www.sourceinsight.com/public/languages/ 2.配置source insight 以前有的先删除 Options ...
- 使用Nginx Lua实现redis高性能http接口
使用Nginx Lua实现redis高性能http接口 时间 -- :: 峰云就她了 原文 http://xiaorui.cc/2015/01/27/使用nginx-lua实现redis高性能http ...
- scala读写文件
def main(args: Array[String]): Unit = { //1 read for( i<- Source.fromFile("test.dat").g ...