参考连接
变化内容
- 定位符发生变化 需要支持多平台
- 操作流程可能会发生
- 多平台
- 变量化
抽象原则
- 抽离变化部分, android与ios,页面一致,使用同一个数据文件维护。小程序、h5、web差别很大,独立封装为不同的数据文件
- 封装层次不要太深
数据格式
数据驱动
def load(self, path, method, **params):
print(stack()[1][3])
steps=[]
with open(path) as f:
steps=yaml.safe_load(f)
for step in steps[method]:
if(dict(step).keys().__contains__("action")==False):
if(step['by']=="text"):
self.findByText(step['value']).click()
else:
self.driver.find_element(by=step['by'], value=step['value']).click()
else:
action=str(step['action'])
for k, v in params.items():
action = action.replace("$%s" % k, v)
self.driver.find_element(by=step['by'], value=step['value']).send_keys(action)
测试实战
- 数据驱动封装 完成时间 2019-06-01 10:49:36