yaml文件解析步骤如下:
def steps(self, path):
with open(path, encoding="utf-8") as f:
steps = yaml.safe_load(f)
for step in steps:
if "action" in step.keys():
action = step["action"]
if "click" == action:
self.find(step["by"], step["locator"]).click()
if "send" == action:
self.find(step["by"], step["locator"]).send_keys(step["value"])
使用测试步骤的数据驱动后,相当于把所有步骤全部放在一个黑盒里,这个黑盒里的所有步骤都按统一的设定来执行,但是很多时候,某些步骤会需要特定的显示等待才能定位到元素,那这时候该怎么解决呢?
一般来说,显示等待可以封装到find的逻辑里面去的;
如果你需要强等待的话,可以添加步骤的解析sleep
可以封装,但是怎么针对性的封装呢,毕竟每个元素定位的等待条件不一定一样啊
你可以进行一个统一的封装啊
毕竟每个元素定位的等待条件不一定一样啊
这个没啥不一样啊,你可以用显示等待元素出现和能够被点击啊,还有啥等待条件?你举例来说说看
我意思是说,假如我一个case有3个步骤,
步骤1需要可点击,
步骤2需要可见,
那么步骤1、步骤2都是通过封装的yaml解析,然后传入到你封装的find方法中,但是你find方法里怎么根据每个测试步骤它需要的等待方式来进行选择?
即怎么对步骤1采用可点击显示等待,步骤2采用可见显示等待?
如果需要比较细致和特别的显式等待的话 你可以新加action,然后把显式等待单独写成一个step就可以了