目前是这样,公司有一个需求:把 APP 所以程序跑一遍,看看有没有崩溃。但是公司已经把任务丢给华为的一个 monkey 测试了,他觉得 monkey 跑的太随意,不够全面,所以我选择了使用 appium,去编写每一个模块。但是遇到了一个问题就是当程序崩溃了,我该如何去获取。使用了 adb -s device shell ps|grep APP 这个命令去判断是否存在进程,但是 APP 崩溃的时候,进程是存在的,所以这个办法不可行,没有没大佬知道办法?
https://discuss.appium.io/t/detecting-application-crashed-and-retrieving-crash-logs/6719/4 https://discuss.appium.io/t/how-to-detect-app-crash-in-reality/498/5
我试过抓取 appium 执行的 log,但是 APP 奔溃只会报 404,找不到元素。还是不能解决这个问题。
运行之前,清除日志
adb logcat -c
运行之后,查看崩溃日志
adb logcat -b crash
仅供参考,没有实际操作过
通常情况下 开发都会又 log 日志啊,跑完从日志看看有没有崩溃不可以吗
我们之前的方案是通过判断 pid 方式实现的
如开始测试前,使用 adb shell pidof com.xxx.xxx 获取程序的进程 pid,测试完成之后,再获取一次 pid 进行比较。
若 pid 一致,则正常;若 pid 不一致,则表示该进程在测试中途出现了 crash。
这个我尝试过,崩溃后进程还存在的话,pid 信息是不会变的。
有的。
我试试。