导语
之前在探索框架(三)--驱动程序设计(unittest+Python)中有总结基于unittest编写的脚本调用运行的方法,本次还要总结另外两种方法。
一、基于unittest编写的脚本调用
先回顾一下基于unittest编写的脚本调用方法,这个的前提是用例脚本是基于unittest框架编写的,其他的方式编写的无效。
#导入unittest
import unittest
#定义需要打开的脚本
fdir="这里是脚本文件路径名"
fname="这里是脚本文件名"
discover=unittest.defaultTestLoader.discover(fdir,pattern=fname)
runner=unittest.TextTestRunner()
runner.run(discover)
二、通过python命令调用需要运行的脚本
这种方法适用于每个脚本中都有相应的调用执行程序,比如一下脚本:
# 使用面向对象的方法,但不使用unittest框架
class test_a():
def __init__(self):
print("test_a初始化")
def test_case1(self):
print("test_a的test_case1")
if __name__ == '__main__':
# 实例化类
obj = test_a()
# 调用测试用例方法
obj.test_case1()
调用方法如下:
#导入os库
import os
#定义命令行字符列表
stros=('python 脚本路径\test_a.py')
# #执行脚本文件
os.system(stros)
三、通过调用需要运行的脚本类中的main方法
这种适用于脚本中单独定义了main方法,如以下脚本:
# 使用面向对象的方法,但不使用unittest框架
class test_a():
def __init__(self):
print("test_a初始化")
def test_case1(self):
print("test_a的test_case1")
def main(self):
self.test_case1()
if __name__ == '__main__':
# 实例化类
obj = test_a()
# 调用测试用例方法
obj.test_case1()
调用方法如下:
#导入脚本文件及对应的测试类
from tets_script.ind_test_script.testcase_a import test_a
# 实例化对象
testobj=test_a()
testobj.main()
以上总结了3种调用其他脚本运行的方法,可以根据实际情况选用。