Appium app ui 自动化测试由于前面用例出错卡在某个页面导致后面用例执行失败

小星星 · 2020年05月25日 · 最后由 小星星 回复于 2020年05月25日 · 2111 次阅读

问题 app ui 自动化测试由于前面用例出错卡在某个页面导致后面用例执行失败

框架

  • appium
  • pytest

解决方法

  1. 用 steup teardown 方法每次执行完用例后都恢复到初始页面,让后面的用例继续执行,但是这样有个缺点就是每执行完一个用例就得执行一次 steup teardown 方法,如果用例多的话会浪费很多时间。

是否还有其他更优的解决方法

欢迎大佬分享这方面的经验

共收到 8 条回复 时间 点赞

个人觉得,本质上都是回归到统一状态,便于不同用例可以乱序执行。

至于回归的方法,是一路返回或者直接调起 launch activiry 到首页,还是重新 setup 直接重装应用,就根据成本和收益评估吧。

另外,如果是为了支持乱序同时也节约时间,不妨考虑增加一个多用例集的概念?同一个用例集内共用 setup 以便支持乱序,不同用例集 setup 相互独立。然后所有用例集的父用例集 setup 负责启动应用进入首页,子用例集 setup 则是负责从首页开始到自己用例起始页的操作。


写了一个方法,当用例出错的时候,调用 steup_class 重新初始化

@yuan 好方法

@Ouroboros 有些比如用例都在 A 页面,避免每次都回到起始页,然后再进去 A 页面,后面的用例可能依赖第一个用例进入到 A 页面的步骤,如果第一个用例就失败了后面也就失败了

用例之间还有关联性?

@ 陈恒捷 感谢回复,是个不错的方法

@yuan 嗯,是想节约时间

小星星 回复

最好每个用例独立开,便于维护,也没有什么隐含的先后顺序的问题。以后也方便根据某些规则进行用例抽取。
“避免每次都回到起始页,然后再进去 A 页面”,这个我也不是很理解,为啥要避免,节约时间么?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册