Selenium IDE如何通过元素校验控制测试重启并缩短校验耗时
Selenium IDE循环校验逻辑实现方案
主需求实现(校验btnSalir不存在再执行后续步骤)
你之前用逻辑命令失败的核心原因是Selenium IDE的if/do等控制命令的条件只能读取已存储的变量,不能直接执行元素校验语句作为判断依据,可按以下步骤配置:
- 在原有第18条命令后新增第一条命令:命令选
store element present,目标填id=btnSalir,变量名填isSalirExist,该命令会自动将元素是否存在的布尔值写入变量 - 新增第二条命令:命令选
if,条件填${isSalirExist} == true - 在if块内新增第三条命令:命令选
run,目标填当前测试用例的完整名称,作用是触发测试用例重启执行 - 新增第四条命令:命令选
end,结束if逻辑块 - 原有第19条及后续命令直接接在
end命令之后即可,触发逻辑为:btnSalir存在时重启用例,直到校验到btnSalir不存在时,跳过if块直接执行后续步骤
备选方案实现(校验btnSiguiente存在再执行后续步骤)
配置逻辑和主需求基本一致,仅判断条件不同:
- 在原有第18条命令后新增
store element present命令,目标填id=btnSiguiente,变量名填isSiguienteExist - 新增
if命令,条件填${isSiguienteExist} == false - if块内新增
run命令调用当前测试用例重启 - 新增
end命令结束逻辑块,后续接原有第19条及之后的命令
缩短元素校验耗时的方法
- 调整全局隐式等待时长:默认隐式等待为30秒,校验元素不存在时会等待满时长才返回结果,你可以在测试用例最开头添加
set implicit wait命令,值填你需要的毫秒数(比如1000代表1秒),可大幅缩短校验耗时。如果部分页面加载需要更长等待,可单独给对应操作加wait for element visible命令补充等待时长 - 替换校验命令:不要用
verify element present/verify element not present,改用上面提到的store element present命令读取元素状态,该命令不会走全量隐式等待,拿到元素状态后立即返回,耗时更短 - 增加循环次数限制:可额外新增一个计数变量,每次重启用例时计数+1,达到阈值(比如3次)后直接终止用例报错,避免无限循环浪费时间
内容的提问来源于stack exchange,提问作者Cristian Trandafir
相关产品推荐
相关产品推荐

