Appium自动化测试常用知识

**adb(Android debug bridge)命名:
常用adb命令:
adb devices:显示当前连接到的设备
adb connect ip:端口号 :连接设备
adb disconnect ip:端口号 :断开连接
adb uninstall app在android内名称 :卸载app
adb install app安装包名称 :安装app
adb shell :进入linux内核
adb push windows系统文件路径 android路径 # 将文件推送到android系统
adb pull android系统文件路径 windows系统路径 # 将文件从android拉到windows系统
appium常用元素定位:
使用MobileBy指定元素定位的方式,MobileBy继承自By
常用元素定位方法:
id 、 classname 、xpath
android uiautomator、accessibility id
android uiautomator定位支持使用id(resource-id)属性、class属性、text属性定位:
id(resource-id)属性:new UiSelector().resourceId(“id(resource-id)属性值”)
class属性:new UiSelector().className(“class属性值”)
text属性:new UiSelector().text(“text属性值”)
accessibility id定位使用accessibility_id属性值或content-desc属性值
appium隐式等待:implicitly_wait()
toast信息:
toast元素默认class属性值:android.widget.Toast
由于toast元素显示时间非常短暂,必须使用显示等待方式定位,必须使用precesence_of_element_located显示等待条件
,而且必须使用xpath,使用class属性值定位。
屏幕滑动:
使用swipe()方法,需要传入起始点和终止点两个点的坐标
TouchAction库:
press():按压一个元素或坐标
long_press():按压一个元素或坐标,可以设置时间,单位是毫秒
tap():对一个元素或坐标执行点击操作
move_to():将指针移动到某个元素或者某个坐标点上
wait():暂停一定时间,单位是毫秒
release():释放
perform():执行
使用MultiAction库实现放大,缩小操作
app类型:
原生app:app的数据、文件都保存在手机本地,响应快,但是占用空间大
webapp(html5开发):相当于以浏览器,app的相关数据、文件可以保留在服务器上,需要时从服务器请求回来,占用空间小
响应慢,依赖于网络。
混合APP(原生和web的混合版):将常用数据或文件保留在手机本地,常用功能响应快,占用空间相对较小,结合了原生app和
webapp两者的优点。

context切换(上下文切换):原生app和h5页面的切换
当看到android.webkit.WebView时,说明app嵌套网页,网页中的元素要想正常定位,需要进行context切换。
要想实现context切换,需要capability中设置’chromedriverExecutableDir’:‘chrome浏览器驱动文件所在路径’
driver.switch_to.context(‘WEBVIEW’) # 默认切入H5页面
driver.switch_to.context(‘NATIVE_APP’) # 默认切入原生APP
屏幕截图:get_screenshot_as_file()
多点按压:tap()
按照坐标按压,最多可以设置5个坐标,可以设置按压时间(单位毫秒)
传参是有坐标元组组成的列表:tap([(),(),(),(),()],100)
app常见操作
安装app:install_app()
卸载app:remove_app()
关闭app:close_app()
启动app:launch_app()
将app置于后台运行一定时间: background_app()
打开系统通知栏: open_notifications()
判断某个app是否安装: is_app_installed()**

上一篇:Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图


下一篇:RobotFramework +appium实现Android自动化