自动化测试中的关键字驱动
关键字驱动
通过关键字做对应的动作,很早的自动化测试工具都走的这个方向,比如RobotFramework,QTP等,这里简单介绍一下关键字驱动的原理
python 实现关键字驱动
python实现关键字驱动,主要用到的是python中的反射getattr
getattr:实现反射机制
getattr可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。
配置文件
在excel中,输入自己的测试步骤,如下
思路如下
收集测试用例
写一个方法收集测试用例概要信息,收集后格式如下
feature(当前sheet的名称),story,case_name后续添加到allure报告中去
case_loc为测试用例步骤在excel中的位置,主要用到前两个,对应的为测试用例步骤起始行,结束行
代码如下:OperaExcel()是自己封装的一个操作excel的类
def collect_test_cases():
'''
获取excel表格中所有测试用例标题及位置
:return: excel 表格中的测试用例列表
'''
excel= OperaExcel()
sheet_names=excel.get_sheet_names()
_list=[]
for name in sheet_names:
merged_cells=excel.get_merged_cells(name)
module_locs=list(filter(lambda x:x[2]==0 ,merged_cells))
case_locs=list(filter(lambda x:x[2]==1 ,merged_cells))
for module_loc in module_locs:
for case_loc in case_locs:
if (module_loc[0] <= case_loc[0] <module_loc[1]):
data = {
"feature": name}
data["story"]=excel.get_cell(name,module_loc[0],0)
data["case_name"]=excel.get_cell(name