python知识普及
方法在类里开头空4格
属性在方法里开头空4格
下图是一个基本的python类结构
class开头表示类,类名第一个字母要大写
def 后面加空格,表示方法,方法分为私有和公共
1、私有方法:方法前面加2个_表示私有,私有方法只能被类本身调用,不能被其他类调用。__init__()是类的初始化方法,类被调用,该方法就会执行,self表示类的事例,可以把他想象成是Widget类本身的意思,self._size就是WIdget类的_size属性
我们看到__init__里面,定义了self._size,前面说私有方法不能被其他类调用,那么就得通过公有方法来调用
2、公有方法:怎么调用和设置私有方法定义的属性,下图get_size方法就是用来返回self._size
resize方法用来设置self._size的值
通过unittest类测试上面类
第一步:导入刚刚的类和unittest类
第二步:定义一个类继承unittest.TestCase类,顾名思义这个TestCase类是测试用例类的意思
setUp和teardown都是TestCase中定义的方法
setUp用来做测试执行前的初始化工作
teardown用来做测试执行后的清理工作
第三步:编写测试方法:testSIze方法:assertEqual(value1,value2)方法用来判断value1和value2是否相等,注意只有方法名前面以test开头才会执行
第四步:加上if __name__ == "__main__":unittest.main() 作用:只有当前类本身运行的时候,才会执行这个类的testSize,testResize测试方法,其他类调用不会执行
想象一下,把testSize和testResize改成用requests定义的一个个接口,运行这个类就等于运行很多个接口了
实现一步同时运行2个甚至更多类:当然不可能把所有方法放在一个类下,接着创建一个新的py文件,类名任意改下,其他不变,怎么实现这2个py文件同时运行?
第一步:创建一个文件夹,把上面2个py文件放到文件夹中
第二步:在文件夹同级目录创建一个test_all_case.py文件,通过该文件运行test_case里的文件
第三步:编辑test_all_case.py文件
导入os类,os.listdir(加上test_case的目录路径)会得到test_case文件夹下的所有文件
for case in os.listdir 如果test_case文件夹下有2个文件,case会进行2次循环,第一次得到test_case其中的一个文件名
if case.endwith(".py") 我们为了只是为了执行py结尾文件,做过滤
os.system("python " + case + " 1>>log.txt 2>&1") os.system方法是系统执行命令,可以尝试用cmd,切换到test_case文件夹 输入python 文件名,就会执行这个py文件,注意python后有空格
“ 1>>log.txt 2>&1” 把文件执行结果记录到log.txt,注意1前面有个空格,txt后面有个空格
第四步:运行test_all_case.py文件
test_case下面py结尾的文件都会被运行,结果记录在log文件夹下
好了,一个简陋的接口自动化框架搭建完毕
接下来章节是对这个框架的报告优化(生成HTML文件替代log文件)和结构优化