Appium 关于 appium 测试用例的问题

么西 · 2019年10月17日 · 最后由 北溟 回复于 2019年10月19日 · 2790 次阅读

在跑多个测试的时候想共用一个 driver,因为每个用例执行完后都停留在不同的页面,有没有好的方式可以让 driver 跑完每个用例后直接跳到某个固定的页面(如首页),然后每个用例从这里开始跑,还是说只能每个用例启一遍 driver 然后登录到首页

共收到 9 条回复 时间 点赞

一般都是从首页开始跑,driver 可以一直用,只用关闭启动 app 就行;每次都连 driver 也行,就是速度可能稍微慢点

teardowm 回到首页可以吗

雨夜狂奔 回复

关闭 app(driver.quit?)后这个 driver 就没了吧。重新启一个然后登录也挺慢的

路了个飞 回复

问题是怎么回首页呢,driver.back 吗,每个用例执行完后所在的层级也不一样

么西 回复

每次启动太浪费效率了,我是这么弄的,LZ 可以参考下,有不足之处也可以一起讨论。以 TestNG 为例:
1.每一个测试类(class)对应一个页面的测试点(methods)
2.BeforeTest:一般都是启动程序进入首页
3.BeforeClass:从首页进入被测页面(每个测试类需要单独写;进入前检测是否在首页,假如不是则重启 APP 进入首页)
4.BeforeMethod:检测是否停留在被测页面(防止部分功能页面跳转但由于 Bug 或者不稳定导致无法返回,比如分享微信),失败 3 次则重启并重新进入被测页面
5.每一个 Method 执行完后都必须返回被测页面,返回的方法单独在 Method 里写
5.AfterClass:返回首页(因为页面路径不同返回的方法每个测试类需要单独写)

kasijia 回复

嗯嗯。 感谢分享。差不多是这样的思路。 可能我现在写的 case 比较粗,一个功能是一个测试类,而不是一个页面,所以一个类里面有好几个页面就感觉有点儿凌乱。 不知道 appium 能不能支持一键返回某个页面或者说某个 activity

么西 回复

并不是 driver.quie,而是 close_app,launch_app

雨夜狂奔 回复

哦哦 可以的 但是我 close 后再 launch 好像没有登录状态了。 请问 launch 后还能保持登录状态吗 , 不然感觉比重启一个效率也高不了多少

teardown 里 start_activity

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