51Testing软件测试论坛

标题: 利用模拟器全自动检测 APP 在全 Android 版本上是否会首屏闪退 [打印本页]

作者: 悠悠小仙仙    时间: 2017-6-27 17:07
标题: 利用模拟器全自动检测 APP 在全 Android 版本上是否会首屏闪退
本帖最后由 悠悠小仙仙 于 2017-6-27 17:11 编辑

用途:作为最基本的常规测试,全自动,用模拟器,4.4-7.0,开发包/混淆后的包会不会首屏闪退

会提到的小技术:

为什么做这个
Appetizer质量监控对APK进行DEX代码插桩,然后插装包运行时能监控质量(crash, http,卡顿等等),DEX代码插桩是一个很底层的技术,大家有个疑问,插桩后会不会闪退啊,你们怎么确保这个事情的。我们的流程是这样的:

先贴代码

  1. # d是设备串号,pkg是apk的包名
  2. wininfo = subprocess.check_output('adb -s %s shell dumpsys window windows' % (d, ), shell=True)
  3. # stage 2.4: check if the app activity is focused
  4. launched = False
  5. for l in wininfo.splitlines():
  6.     if 'mCurrentFocus' in l and 'Application Error' in l:
  7.         launched = False
  8.         break
  9.     if 'mCurrentFocus' in l or 'mFocusedApp' in l:
  10.         launched = launched or pkg in l
复制代码

首先 dumpsys window windows这个命令会输出目前系统一层层的窗口层次(比如有launcher,弹出框什么的),不详细解释了,有兴趣的可以去看一下,比较直观
重点是mCurrentFocus(当前最上面的那个框)和mFocusedApp(当前最上面的那个APP)
有几种可能:



作者: 悠悠小仙仙    时间: 2017-6-27 17:26
真机少的情况下,模拟器随起随用,全版本覆盖,喝口咖啡的时间就搞定,不用等兼容性报告,开发自己也可以用
真机可以用来开发调试,插上也能增加兼容性机型,即插即用
如果公司设备多,用云管理,那么可以固定一组用来测兼容,总而言之模拟器比较灵活(8.0来了),真机比较真(废话),搭配使用
是有模拟器打不开的,但是我们遇到的也不是非常多,百度sdk我们碰到过几个
对于机型多或者APP多比较有用,何乐而不为
作者: jingzizx    时间: 2017-6-27 21:06
感觉很强大!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2