什么是Appium
主要用于测试移动端自动化, 是一个开源、跨平台的自动化测试框架,适用于Native App、Hybrid App。
Appium是基于Selenium的Webdriver进行了扩展,扩展了一些操作移动端的API接口
Appium原理
Appium是基于Selenium的二次扩展,所以也是经典的Client-Server设计模式,我们的code就是狭义上的客户端,Server端与Selenium不同,
Selenium直接测试浏览器Web页面,将浏览器作为服务端。而Appium的服务端就是我们自己启动的Appium-Server。数据与操作命令传递与Selenium Api相同,遵守
REST设计风格的Api接口。(REST设计风格,就是一种接口设计方式,看URL知道要什么、看HTTP Method知道干什么、看HTTP Status Code知道结果)
Appium怎么用
Appium工作流
appium 与 selenium 的区别
appium的客户端发送请求,实际上是发送给appium-server,server判断的请求来调用不同的自动化框架,传递给手机
selenium的客户端发送操作请求,实际上是发送给浏览器
测试app需要哪些准备
手机唯一id:deviceName
手机平台:platformName
手机版本:platformVersion
app的包名:appPackage
启动软件的入口 :appActivity
noReset =True 不格式化app
启动appium-desktop
0.0.0.0 代表可以接收外来的一切id
三种确定appPackage和appActivity的方法
1、找开发要
2、通过过滤logcat日志 前提:抓取appPackage和appActivity时,app是冷启动
adb logcat | findstr START cpm后面的 #cmp=com.android.settings/.Settings
=到/之间是appPackage :com.android.settings
/. 后面是 appActivity :Settings
3、通过sdk的aapt命令获取包名和入口
进入aapt.exe所在的文件夹下,打开cmd
aapt dump badging ‘mobileqq_android.apk’
定位app元素的方式
1、appium-desktop 前置条件比较复杂
resource-id 理解为 html 当中 id resource-id 可能出现重复
如果appium-desktop 显示可以用id进行定位,那么不用考虑resource-id是否重复
clickable 是否允许点击
....
2、用sdk提供的 uiautomaterviewer 定位元素