在编写UI自动化测试脚本的时候,有时候定位页面元素去操作手机的方法可能会比较麻烦。例如,也许你只是想要一个返回效果,去定位页面返回后还要进行一系列定义、调用点击函数,此时直接使用手机的物理返回键就要方便许多。Appium可利用selenium去操作手机。
先记录自己辛苦百度之后写出来的东西:
记录一、长按某个元素的方法
首先导入 TouchAction 包:from appium.webdriver.common.touch_action import TouchAction
然后编写长按函数:
wait里的时间单位是毫秒,长按N毫秒释放以下是总结的只是碎片:
手机操作方法
收起键盘:driver.hide_keyboard()
启动Activity参数(包名,activity名字):driver.start_activity('com.example.android.apis', '.Foo')
打开通知栏(打开下拉通知栏):driver.open_notifications()
检查应用是否已经安装(包名):driver.is_app_installed('com.example.android.apis')
安装应用(路径):driver.install_app('path/to/my.apk')
删除应用(包名):driver.remove_app('com.example.android.apis')
模拟设备摇晃:driver.shake()
关闭应用:driver.close_app()
重置(相当于卸载后重装):driver.reset()
获取应用的字符串:driver.app_strings
获取当前Activity:driver.current_activity
滑动屏幕(开始x,y坐标,滑动到的X,y坐标,持续时间ms):driver.swipe(startx=75, starty=500, endx=75, endy=0, duration=800)
双指向内移动缩小屏幕:driver.pinch(element=el)
双指往外移动来放大屏幕:driver.zoom(element=el)
从设备中拉出文件:driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')
把文件放到设备中:
data = "some data for the file"
path = "/data/local/tmp/file.txt"
driver.push_file(path, data.encode('base64'))
使用手机物理键
一句代码:driver.keyevent() 括号里填入的是手机物理按键的数字代号
driver.press_keycode() 括号里填入的是键盘按键的数字代号
手机物理键数字代码 键盘按键数字代号注:
网友评论