appium===setup/setupclass的区别,以及@classmathod的使用方法
一、装饰器
1.用setUp与setUpClass区别
setup():每个测试case运行前运行
teardown():每个测试case运行完后执行
setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次
2.@是修饰符,classmethod是python里的类方法
二、执行顺序
1.用类方法写几个简单case,可以对比这篇:Selenium2+python自动化52-unittest执行顺序
# coding:utf-8
import unittest
import time
class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
print "start!"
@classmethod
def tearDownClass(cls):
time.sleep(1)
print "end!"
def test01(self):
print "执行测试用例01"
def test03(self):
print "执行测试用例03"
def test02(self):
print "执行测试用例02"
def addtest(self):
print "add方法"
if __name__ == "__main__":
unittest.main()
2.从执行结果可以看出,前置和后置在执行用例前只执行了一次。
start!
执行测试用例01
执行测试用例02
执行测试用例03
...end!
----------------------------------------------------------------------
Ran 3 tests in 1.001s
- final和static使用的再思考,以及其在“类.方法”和“对象.方法”使用方式上的的区别
- C#基础篇 重写与重载,以及其中设计的虚方法和抽象方法的使用和区别
- LinkedHashMap和HashMap的区别以及使用方法
- JSON和JSONP的区别,以及使用方法
- 14章类型信息-之类型转换前先做检查--之使用类字面常量--类名.class--以及动态instanceof(isInstance方法)----递归计数(计算各个类的个数)
- Android之ContextMenu的使用方法以及与OptionMenu的区别
- Android之ContextMenu的使用方法以及与OptionMenu的区别
- Android之ContextMenu的使用方法以及与OptionMenu的区别(转)
- JSON和JSONP的区别,以及使用方法
- Android之ContextMenu的使用方法以及与OptionMenu的区别
- synchronized和volatile的使用方法以及区别
- C#基础篇 重写与重载,以及其中设计的虚方法和抽象方法的使用和区别
- append和innerHTML的区别以及使用方法
- 14章类型信息-之类型转换前先做检查--之使用类字面常量--类名.class--以及动态instanceof(isInstance方法)----递归计数(计算各个类的个数)
- Android之ContextMenu的使用方法以及与OptionMenu的区别
- java单元测试中setUp方法和setUpBeforeClass方法的区别
- Spring iBatis Sqlmap 以及 parameterClass 和 parameterMap 的使用方法
- json 的 使用方法以及与数组的区别
- <input > 单引号和双引号的区别以及使用方法
- JSON和JSONP的区别,以及使用方法