• #18 楼 @yangchengtest
    固定型号?嗯,对,我们做的都是我们公司自己的手机,有很多的应用都是我们公司自己做的,其余的有一些客制化的应用以及平台本身的应用,比如 Settings 这样的。最主要的是稳定性测试。“建议下次最好将需要测试的对象稍微描述一下吧?”,嗯,接受你的建议,谢谢!

  • #23 楼 @sandman

    1. 这个我知道,我只是用了默认的路径
    2. 我在设计时,主要选择的是英文,因为我们做的是整机测试,所以事先将语言调成了英文
    3. 我的方法也能凑效,至于双引号,我在执行时是有加的,且更新了本文中调用的说明
    4. 这点我只是知道,却没在脚本中加判断
    5. dumpsys SurfaceFlinger 这条命令不知道你使用的目的是什么呢?dumpsys window 我也用这个,主要来判断当前界面是否有 crash 或 anr 发生,做一些错误处理。 以上, 感谢你的回答,谢谢!
  • #21 楼 @vigossjjj
    sendevent 的实现机制我确实不了解,望能指点一二。感谢!
    另外,解析 uiautomator dump 出来的 xml 档,用 shell 脚本解析会很快,本文即是使用 shell 来解析的。uiautomator 本身是通过 java 去解析的,做了很多种方式,我感觉有点复杂了。这是我喜欢 shell 的原因。直来直去,哈哈哈哈

  • #19 楼 @vigossjjj
    读一行写一行?你搞错了,我说的 shell 执行是用 shell 脚本,而不是用 dos 命令行往下发,shell 是手机的 linux 内核,执行速度比 dos 往下发快得多,它已经脱离了 adb 了。
    不同的设备我们写出不同的配置文件出来即可

  • #16 楼 @lihuazhang
    已更新。

  • #12 楼 @chenhengjie123
    手机 dump 确实速度比 pc 慢不少,请问这个怎么理解?

  • #13 楼 @lihuazhang
    感谢指正,下不为例.

  • #10 楼 @james88233
    快慢,一者与界面是否含有动态控件有关,二者与手机的运行内存有关.刚才所讲的 34 秒,是 34 秒,不是 3~4 秒,我没写错哈,是我在小米 2 手机上测试的一个数据,这只手机运行内存只 1G.至于其他关系因素,我目前还不知道.对于你所讲的"迭代频率比较高的偏功能性测试",我们的做法是,自动化没有设计完成时,采用逻辑测试,自动化设计完成时,自然是采用自动化.毕竟自动化用例也是需要人来设计的.客户的需求是说这些用例要设计成自动化,我想应该不是说立刻,马上用自动化跑起来吧?哈哈,理总是讲得通的.

  • #8 楼 @james88233
    我今天在电脑上使用 uiautomatorviewer.bat 来抓取手机一个录音过程中的界面控件时,花了 34 秒,才显示出来,所以...相比较而言,3-4 秒算快了吧?哈哈,但是我在手机的 adb shell 下面, 执行 uiautomator dump 就快一些,当时没有拿秒表计时,大概是 4 秒以内的样子.我是使用了我讲的那个方法的.另外在使用 uiautomator 跑用例时,不仅仅是 dump 慢,有时界面上明明有这个控件,单独刷界面也可以刷出来,但是跑那条用例,就是失败了,中间又加了延时,方才成功.我不知道你有没有遇到过.

  • #6 楼 @james88233
    后面有时间,我会举例来说明的,今天时间不早啦!另外,你说 dump 这个过程,又慢又不稳定,不知道是否有在哪个界面出过错呢?莫名其妙的故障是什么样子的故障?是否如我文中所言,报 error 吗?

  • #3 楼 @lihuazhang
    虽然可能列出来的点是相同的,但分析的角度不同,别人是纯粹从工具的易用程度来分析,而我是从实际在做整机测试的经验来看这个的.

  • #1 楼 @lihuazhang
    有看排版的,但是这感想的纯文字的贴子,怎样排版比较好,我这也有点头疼.怕挨批.有没有前面谁发过纯文字的贴子,而排版又比较好的,当学习之.

  • #14 楼 @vigossjjj
    不同的设备当然是不一样的 event 类型,这对我来说小菜一碟,不是事儿.至于 ddmlib 我知道,但要放到 shell 脚本中去执行的话,可能还需要配合其他工具使用.我这写好之后,就是一纯 shell 脚本,执行速度是很快的,比 uiautomator 要快许多.

  • #9 楼 @monkey
    这个可以有

  • #6 楼 @monkey
    你说的对,我对纯理论的东西接受起来有点排斥,还是行动起来,比较容易知道个中滋味,哈哈.

  • #3 楼 @monkey
    我们是做安卓整机测试的,那所以的话,在不同的阶段,需要对产品执行本阶段必须执行的自动化测试用例.在新项目来时,我们除了需要修改这部分已有的用例,仍然需要针对新项目中,新的功能或模块,编写新的自动化测试用例.那这里的自动化测试用例,是我们从系统测试中,捞出可以自动化的部分,一条线是压力,一条线是系统稳定性.Case 从最简单的打开退出应用,到让重复手机执行恢复出厂等等.坦白说,你讲的这些专业名词,我不是太了解.不知道是不是有回答你的问题.

  • #2 楼 @chenhengjie123
    哈哈哈,确实有蛮多坑的,感言这东西,写得好叫情怀了,写的不好的就叫吐槽了.

    1. 比较慢是真的,我这边也没有更好的办法,除非从源代码着手,能改进一点儿速度.另外,我们虽然有 800 条用例,但不是全部一起拉起来跑的,按不同的测试目的或模块,写成了 10 多个 shell 脚本,来执行的.一个 shell 脚本里面最多有 100 条用例左右.我们是做整机测试的.
    2. 输入文字,我在测试时,主要是借助 input text 方法来输入英文,中文几乎不在自动化测试中使用.