从上面配置文件看出,两个测试脚本属于项目包下的不同文件夹:
下面是驱动脚本:
import unittest
import csv
if __name__ == '__main__':
#打开配置文件
file=open(r"E:\interfacefram\config\config1.csv","r")
table=csv.reader(file)
n=0
for row in table:
n+=1
if n>1:
route=row[0] # route:文件路径
fname=row[1] # fname:文件名
#print(route,fname)
suite=unittest.defaultTestLoader.discover(route,pattern=fname)
#定义一个运行对象
runner=unittest.TextTestRunner()
runner.run(suite)
因为两个脚本所在路径不同,当驱动程序从配置文件读取一个脚本并执行完后,再在那个路径下寻找另外一个脚本发现找不到时,系统会报错:
这时,需要在discover方法里添加一个参数top_level_dir,它代表你要测的所有脚本的总路径,在这里,设置为“E:\interfacefram”,也可以设置为“E:\interfacefram\script”,这两个路径下都包含了所要测试的脚本。这里设置为“E:\interfacefram”,
suite=unittest.defaultTestLoader.discover(route,pattern=fname,top_level_dir=r"E:\interfacefram")
其他地方不变。
再次运行,就不报错了。