• 接口自动化框架搭建(三)--通过unittest类实现一个简陋的接口自动化框架


    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文件)和结构优化

    
    
    
  • 相关阅读:
    hdu 3666 差分约束系统
    hdu 1198农田灌溉
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    高等微積分(高木貞治) 1.4節 例2
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    解析函數論 Page 29 命題(2) 函數模的有界性
    高等微積分(高木貞治) 1.4節 例2
    解析函數論 Page 29 命題(1) 有界閉集上的一致連續性
    解析函數論 Page 29 命題(3) 模的下界的可達性
    解析函數論 Page 29 命題(2) 函數模的有界性
  • 原文地址:https://www.cnblogs.com/heng-xin/p/7928014.html
Copyright © 2020-2023  润新知