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

Kori · May 17, 2019 · Last by Kori replied at May 20, 2019 · 677 hits

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

共收到 8 条回复 时间 点赞
Kori #2 · May 17, 2019 作者
SheldonBean 回复

我试过抓取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 · May 20, 2019 作者
Joo 回复

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

Kori #7 · May 20, 2019 作者
秦岭 回复

有的。

Kori #8 · May 20, 2019 作者
keke 回复

我试试。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up