我是靠谱客的博主 飘逸发夹,最近开发中收集的这篇文章主要介绍自学整理的app自动化测试相关笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

移动端测试分类

  • app功能测试
    –业务逻辑正确性测试:依据产品文档设计测试用例,加上隐形需求用例

  • 兼容性测试
    –系统版本
    –android:原生系统版本,4.0 5.0 ;定制版本:小米、华为、oppo。。。
    –ios:原生系统5.0
    –分辨率
    –7201280、19201080,、图片(根据分辨率做一些图片)
    –网络状态
    –2g、3g、4g、5g、wifi

  • 异常测试
    - 热启动应用:应用由后台转为前台的应用;仍然转到推到后台时的页面;希望初始化为首页

    • 网络切换&中断恢复:
      - 网络切换:wifi–》2g 4g–》3g 应用恢复正常状态
      - 中断恢复:4g–》断网–》4g (下载2M的应用,1M断网,恢复网络);断电续传,重头下载
      –电话&信息中断恢复:
      –电话:看视频–》来电话接10分钟==》返回视频app
      –信息:玩游戏–》通知栏出现一个信息–》不影响游戏体验
  • 升级、安装、卸载测试
    - 升级:临近版本升级,跨版本升级,保证升级后app的可用状态
    - 安装:首次安装、卸载后安装、覆盖安装,保证app安装后可用
    - 卸载:正常卸载、安装后在卸载,保证卸载后需要清理的文件全部清空,需要保留的文件存在

  • 健壮性测试
    - 手机资源消耗: cpu,内存
    - 流量消耗:数据流量,加载图片瞬间消耗20M,图片压缩,数据压缩
    - 奔溃恢复测试:app闪退,提示终止运行,保证app可以是自行启动可用,手动启用可用

ADB的构成和工作原理

  • adb的的构成
    –client端,在电脑上负责adb命令
    –daemon守护进程,在手机上,负责接收和执行adb命令
    –sever端,在电脑上,负责管理client和daemon之间的通信
  • adb的工作原理
    –client端将命令发送给sever端
    –sever端会将命令发送给daemon端
    –daemon端进行执行
    –将执行结果返回给sever端
    –sever端在将结果返回给client端

ADB获取包名和界面名

  • 包名和界面名的概念
    –包名:对应着的应用程序
    –界面名:对应着应用程序的某个界面,也叫启动名
    1.2,如何获取包名和界面名
    –windowns:adb shell dumpsys window windows | findstr mFocusedApp
    –mac:adb shell dumpsys window windows | grep mFocusedApp
    1.3,应用场景
    –后期,我们在告诉计算机到底打开哪一个应用程序,必须要使用的一个写代码的参数

ADB文件传输

  • 从电脑传输文件到手机
    –adb push 电脑的文件路径 手机的文件夹路径
    –adb push C:UsersAdministratorDesktopa.txt /storage/sdcar
  • 从手机拉取文件到电脑
    –adb pull 手机的文件路径 电脑的文件夹路径
    –adb pull /storage/sdcard0/a.txt C:UsersAdministratorDesktop
  • 应用场景
    –如果希望将电脑上的能某个文件,发送到手机,使用adb push的命令
    –如果希望将手机上的某个文件,发送电脑,使用adb pull命令

获取APP的启动时间

  • 如何获取app的是启动时间
    –adb shell am start -w 包名/界面名
    –adb shell am start -w com.yimu.starcat/.ui.WelcomeActivity
    – adb shell am start -w com.yimu.starcat/.ui.login.LoginActivity
  • 应用场景
    –当企业有需求的时候,使用这个adb命令进行测试
    –测试标准:如果企业没有特定的时间规范,我们可以参考同类产品,不要超过一倍即可

获取手机日志

  • 如果获取手机日志
    –adb logcat
  • 应用场景
    - 当发生奔溃的时候,可以将日志信息发送个开发人员,便于其快速的定位bug
    - 关于崩溃的处理:需要找日志中的“at”前面的第一个字符是E的就是错误信息

其他命令

  • 安装app到手机
    –adb install 包名
  • 卸载手机上的app
    –adb uninstall 包名
  • 查看连接设备的数量及设备号
    –adb sevices
  • 进入到android手机系统内部的命令行中
    –adb shell
  • 关闭adb服务
    –adb kill-severs
  • 开启adb服务
    –adb start-severs
  • 查看adb帮助
    –adb --help

app自动化基础操作API

  • 手机驱动对象
    –驱动会帮助我们完成手机和脚本之间的交互

  • 导入driver对象
    –from appium import webdriver

  • 声明手机驱动对象
    –只有声明手机驱动对象我们才可以让手机完成脚本的操作方法如下:
    –driver = webdriver.Remote(‘http://localhost:4723/wd/hub’,desired_caps)

  • 手机启动参数
    –desired_caps常用参数:
    (1) “platformName”: “Android”,
    (2) “platformVersion”: “5.1.1”,
    (3) “deviceName”: “Nexus 6”,
    (4) “appPackage”: “com.zhihu.android”,
    (5) “appActivity”: “.app.ui.activity.MainActivity”

  • 获取包名和启动名
    –adb shell dumpsys window windows | findstr mFocusedApp
    –通过代码来获取到:driver.print(driver.current_package)包名
    –print(driver.current_activity)界面名

  • 通过cmd链接安卓模拟器
    –adb connect 127.0.0.1:62001

  • 查看设备
    –adb device

  • 脚本内启动其他app
    –driver.start_Activity(appPackage,appActivity)
    –driver.start_activity(“com.android.contacts”,".activities.PeopleActivity")

  • 关闭驱动,同时关闭所有关联的app
    –driver.quit()

  • 关闭app,不会关闭驱动对象
    –driver.close_app()

  • 安装app
    –driver.install_app(r"C:UsersAdministratorDesktopzhushou.apk")

  • 卸载应用
    –driver.remove_app(“com.baidu.appsearch”)

  • 判断某个应用是否安装
    –driver.is_app_installed(“com.baidu.appsearch”)

  • 如何模拟home键,将应用放置到后台中
    –driver.background_app(5) 注意:这个方法会自动回到前台

如何使用uiautomatorviewer 获取元素的特征呢

  • 保证想要查看的元素在当前的屏幕上
    1.2,打开uiautomatorviewer 工具
    1.3,点击左上角左数第二个按钮
    1.4,点击想要获取的元素的特征
    1.5,查看工具右下角相关的特征信息
    1.6,使用的uiautomatorviewer 的注意点
    –命令行窗口不要关闭
    –如果uiautomatorviewer 闪退,更换版本1.8
    –点击第二个按钮报错:重启
    –adb kill-sever
    –adb start-sever

最后

以上就是飘逸发夹为你收集整理的自学整理的app自动化测试相关笔记的全部内容,希望文章能够帮你解决自学整理的app自动化测试相关笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部