APP测试--之实践篇

                                                     

步骤:需求整理----测试评审---测试计划--测试方案---准备(环境、数据)--测试用例设计--执行--提交结果--文档归档--发布

专项部分的测试:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、移动端自动化工具:monkey、adb、monkeyrunner、性能监控工具、appium
2、是什么?如何用?怎么分析?
   1)adb:安卓调试桥,主要是通过adb服务器进程由PC端控制访问移动端进行各种自动化操作。
      操作:adb devices ---查看连接设备(模拟器、真机)       
                adb push--上传(推送)--PC——》手机端
                adb pull --下载  手机端-----》PC
                adb  install--程序安装:指定是PC端程序的安装包(.apk/.ipa)
               adb  uninstall --程序卸载:指定手机端程序的包名
                包名获取方式:
              1)aapt拆包解析:aapt dump badging 安装包 
              2)adb shell命令形式获取:
                pm list packages  :获取系统中所有的程序的包名
                pm list packages -f:获取程序所在位置及包名
                pm list packages |grep  关键字:以关键字信息过滤查找包名
                pm list packages -f  |grep 关键字:过滤关键字信息相关的包名及路径
                dumpsys window |grep mCurrent :显示当前已启动程序包名。
                adb logcat >D:\test.txt --持续跟踪运行日志并另存指定位置
                adb logcat -d >D:\test1.txt --一次读取返回后另存指定位置
               adb shell 常用命令:pwd /ls -l/ cat /|grep /ps /cd /date
               cat  /proc/meminfo  查看内存信息
               cat  /proc/cupinfo  查看cpu信息

    补充:自动化测试工具环境配置--
       jdk /skd--platform-tools/tools 

  2)monkey :随机测试,通过自动化的方式随机模拟用户行为对系统进行大量随机的测试实现
     形式:touch(点击、触摸)  motion(滑动)、syskeys(系统级操作)等
     命令:adb  shell  monkey 
-p  com.android.browser   --pct-touch 50 --pct-motion 20  -s 10  --throttle 300  --ignore-crashes
--ignore-timeouts --ignore-native-crashes  --monitor-native-crashes    -v -v -v   1000000 >D:\app1.log 
     分析:1、ctrl+f分别搜索定位:exception、crash、ANR、GC、force_closed.
               2、定位到相关内容后,进行上下文分析,确定相关错误信息,进行整理反馈开发人员即可

3)monkeyrunner
    本质:Android\sdk\tools目录自带的自动化回归测试工具
    问题1:monkey和monkeyrunner的区别?
     monkey是对App进行随机大量的稳定性测试
     monkeyrunner是对App进行有序逻辑下自动化回归测试。
   问题2:monkeyrunner的三大组件?
     A、MonkeyRunner工具类--帮助连接手机设备
        a、waitForConnection(),指定设备名称及超时时间     deviceID:模拟器-‘Emulator-5554’,真机-'随机的十六进制数’
          device1=MonkeyRunner.waitForConnection(超时时间,'Emulator-5554')
                   device2=MonkeyRunner.waitForConnection(超时时间,'afdf1515')
           if  not device1
            print

          b、sleep(),时间缓冲
          MonkeyRunner.sleep(1)
     B、MonkeyDevice工具类--对手机执行操作
       a、常量:DOWN-按下,UP--抬起,DOWN_AND_UP ,按下后抬起
       b、方法:
         touch()--触摸、点击;touch(坐标,逻辑)
         device.touch(245,300,'DOWN_AND_UP')
         wake()--点亮屏幕,空参
         device.wake()
         type()--输入内容;type(输入内容)
         device.type('10086')
         drag()--滑屏,滑动;drag(开始,结束,持续时间,步骤插值)
         device.drag((250,245),(250,350),2,10)
         下滑操作---注意:X轴确定左右滑动,Y轴确定上下滑动
         长按:参数坐标位置不变即可
         device.drag((250,245),(250,245),2,10)
         重启:reboot()
         device.reboot()
         系统级操作--press(),参数:press(按键名称,逻辑)
         主要一些系统级按键名称:
         三大主键:KEYCODE_HOME,KEYCODE_BACK
                          KEYCODE_MENU
         拨号键:  KEYCODE_CALL
         光标移动:         KEYCODE_DPAD_UP/DOWN/LEFT/RIGHT

         takeSnapShot()---截图
         image=device.takeSnapShot()
         注意:当前全部屏幕进行截图,包括手机相关图标,会随着一些环境变化,而发生变化,但是并不是测试主体的内容。
      C、MonkeyImage工具类--对截图做各种处理
       a、writeToFile()---保存内容到指定位置
       image.writeToFile('D:\test.png','png')
       b、sameAs()--对比测试截图
       假设D:\comtest.png  
       result=device.loadImageFromFile(‘D:\comtest.png’,'png')

       test= image.sameAs(result,0.9)
       if  test
          print '测试通过'
       else
          print'测试失败'

    问题3:程序中坐标的获取
     1、设置中--pointer location
     2、MonkeyRecoder--录制方法

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值