发布时间:2024-10-03 17:01
现在为了让手工做上自动化,关键字驱动越来越普遍,不管是使用Excel、yaml还是别的格式文件储存用例,都需要在读取到关键字后动态生成用例。这里就讲一下如何使用python的setattr方法读取文档用例后,动态生成测试用例
# 使用的unittest框架
class Test(unittest.TestCase):
# 声明一个启动方法 这里有个坑 不能声明为run 之前方法名声明为run,一直检测不到用例
def begin_test(self, case_date):
print(case_date)
# todo :遍历步骤 根据关键字执行用例
def read_excel(file_name):
file = os.path.dirname(os.path.dirname(__file__)) + \"/%s\" % file_name
# 打开excel表格
excel_file = xlrd.open_workbook_xls(filename=file)
# 获取到对应的sheet
sheet = excel_file.sheet_by_index(0)
# 获取行总行数
rows = sheet.nrows
# 遍历表格获取内容
for i in range(0, rows):
# todo: 遍历文件 将文件存储陈想要的格式进行返回
return datas
def to_test(excel_data):
\"\"\"
将读取到的excel内容 转换成测试用例
\"\"\"
# 遍历表格内容
for i in range(len(excel_data)):
# 使用setattr方法 在Test类动态生成test方法 方法体内容:to_begin(excel_data[i])
setattr(Test, \'test_%s\' % str(i + 1), to_begin(excel_data[i]))
def to_begin(case_date):
def demo(self):
# 调用Test类型下的begin_test 作为用例启动
Test.begin_test(self, case_date)
return demo
if __name__ == \'__main__\':
data = read_excel(\'关键字驱动.xls\')
to_test(data)
unittest.main()
根据以上四步就可以完成读取文档用例并动态生成测试用例