概述
移动端测试分类
-
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自动化测试相关笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复