Appium 求教 python 判断程序是否还在 run 的解决办法

Kori · 2019年05月17日 · 最后由 Kori 回复于 2019年05月20日 · 2816 次阅读

目前是这样,公司有一个需求:把 APP 所以程序跑一遍,看看有没有崩溃。但是公司已经把任务丢给华为的一个 monkey 测试了,他觉得 monkey 跑的太随意,不够全面,所以我选择了使用 appium,去编写每一个模块。但是遇到了一个问题就是当程序崩溃了,我该如何去获取。使用了 adb -s device shell ps|grep APP 这个命令去判断是否存在进程,但是 APP 崩溃的时候,进程是存在的,所以这个办法不可行,没有没大佬知道办法?

共收到 8 条回复 时间 点赞
Kori #2 · 2019年05月17日 Author
Karaser 回复

我试过抓取 appium 执行的 log,但是 APP 奔溃只会报 404,找不到元素。还是不能解决这个问题。

运行之前,清除日志

adb logcat -c

运行之后,查看崩溃日志

adb logcat -b crash

仅供参考,没有实际操作过

通常情况下 开发都会又 log 日志啊,跑完从日志看看有没有崩溃不可以吗

我们之前的方案是通过判断 pid 方式实现的

如开始测试前,使用 adb shell pidof com.xxx.xxx 获取程序的进程 pid,测试完成之后,再获取一次 pid 进行比较。

若 pid 一致,则正常;若 pid 不一致,则表示该进程在测试中途出现了 crash。

Kori #6 · 2019年05月20日 Author
Joo 回复

这个我尝试过,崩溃后进程还存在的话,pid 信息是不会变的。

Kori #7 · 2019年05月20日 Author
秦岭 回复

有的。

Kori #8 · 2019年05月20日 Author
a2021 回复

我试试。

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