1,appium的工作原理和定义:
appium:可以测试原生应用,移动网页应用和混合型应用,都是跨平台的,主要针对安卓平台的应用进行自动化测试,提供了模拟各种手势(点击,长按,滑动),查找和断言机制的API,能够对各种控件进行操作,
工作原理:appium相当于一个中间服务器,接收代码的请求,将指令发送到手机上进行执行
2,安卓和iOS系统的区别:
- 两者的运行机制不同:iOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
- 两者的后台制度不同:iOS中任何第三方程序都不能在后台运行,安卓中的任何程序都在后台运行,知道没有内存才会关闭
- iOS中用于UI指令权限最高,按住中数据处理指令权限最高
3,appium如何搭建环境:
- 安装PyCharm(配置python环境变量)
- 安装node.js(cmd中输入 node -v 查看是否安装成功)
- 安装JDK,配置环境变量
- 安装安卓的SDK,配置环境变量和环境搭建
- 安装虚拟机
- 验证Android SDK的环境变量(打开cmd输入 adb shell 验证虚拟机是否安装成功)
- 安装appium
4,appium如何连接真机
【前提是手机和appium要在同一个网络的情况下】
- 在手机上打开开发者模式
- 连接数据线,允许USB调试
- 打开cmd输入adb devices 查看有没有连接上设备
- 打开Appium,点击Start Server启动Appium
- 配置参数连接真机(注意:remote path设置“wd/hub”前面不要有斜杠,出现斜杠就会报错)
- 点击Desired Capabilites 配置参数
- 点击Start Session连接手机
- 手机出现(Appium Settings)(USB安装提示),点击安装
- 连接成功
5,appium的配置参数:
- "platformName":"测试平台"
- "appium:platformVersion":"系统版本"
- "appium:deviceName":"连接的地址"
- "appium:appPackage":"连接软件的包名"
- "appium:appActivity":"启动页面的Activity"
6,常用的adb命令:
- adb start -server:启动服务
- adb kill -server:关闭服务
- adb devices:查看设备的连接情况
- adb install:安装程序
- adb uninstall:卸载设备上的程序
- adb shell:进入shell命令模式
- adb shell pm list packages:列出当前设备所有的程序包名
- adb push <本地路径><远程路径>:把pc端上的文件上传到设备上
- adb pull <远程路径><本地路径>:把设备上的文件下载到pc端上
- adb logcat >文件路径 文件名:将log信息保存在文件中
- adb shell dmesg:打印内核调试信息
- adb bugreport:抓取手机的log信息
- ddms:弹出图形化界面
7,monkey测试:
1. 为什么要做monkey测试?
把人想象成一个猴子,用毫无规律的指令或者操作来操作软件,来测试软件的压力和稳定性
2. 什么时候会使用monkey测试?
一般在项目的前期,目的是为了发现大量的bug,没一个版本都会用到,跟我们的版本更新迭代有关系
3. monkey测试的命令:
adb shell monkey -p 包名 --throttle 时间 次数
8,app崩溃(闪退)可能是什么原因导致的:
- 缓存的垃圾过多:由于安卓系统的特性,如果长时间不清理垃圾,就会越来越卡
- 运行的程序过多:导致内存不足
- 应用版本兼容问题:如果应用的版本底,会导致不兼容,造成闪退