闲来无事,搜集了一些Appium自动化经常会使用到的方法。列举了方法名,示例,方法作用,方法说明等。供同学们刚接触Appium时学习参考。也欢迎多多交流!
方法名 | 方法示例 | 方法作用 | 方法说明 |
---|---|---|---|
AndroidAppStart | desired_caps={…} driver=webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’,desired_caps) |
启动App | 启动应用的某个界面(比如首页) |
AndroidClick | driver.find_element_by_name(‘确认’).click() | 点击控件 | 点击控件 |
AndroidEdit | driver.find_element_by_name(‘手机号·’).clear() driver.find_element_by_name(‘手机号’).send_keys(‘13512345678’) |
编辑文本 | 密码,特定格式文本,字体,输入框有无焦点 |
AndroidTap | driver.tap([(x,y),(x1,y1)],500) | 点击坐标 | 对一个元素或控件执行点击操作。 |
AndroidSwipe | driver.swipe(x1,y1,x2,y2,duration=500) | 滑动 | 方向滑动,滑动触发行为,特定滑动控件,将控件或元素从一个位置(X,Y)拖到另一个位置(X,Y) |
AndroidSwitchWebView | driver.excute(MobileCommand.SWITCH_TO_CONTEXT,{“name”:"Web View}) driver.excute(MobileCommand.SWITCH_TO_CONTEXT,{“name”:"NATIVE_APP}) |
切换WebView界面 | 测试安卓混合应用时切换WebView页面 |
pressKeyCode | driver.press_keycode(29);driver.long_press_keycode(29) | 发送短按、 长按键码值 | 发送一个键码的操作(安卓特有方法) |
AndroidCheckText | Element.click() | 复选框 | 单选,复选 |
AndroidDeviceInfo | adb shell getprop ro.build.version.release 其他命令详情参考附录章节 |
设备信息采集 | 设备基本信息包括主板,CPU,存储,摄像头,系统,Sim卡,UI(分辨率)等 |
scroll | driver.scroll(el1,el2) | 移动 | 从一个元素移动到另一个元素 |
hideKeyboard | driver.hideKeyboard() | 收起键盘 | 输入框输入完成后,需要将键盘收起,再切换一下输入框进行输入 |
P****ull_file | driver.pull_file(‘Library/AddressBook/AddressBook.sqlitedb’) | 拉出文件 | 从设备中拉出文件 |
push_file | content=“sdfdfd”;data=Base64.encodeBase64(content.getBytes()) driver.push_file(“sdcard/test.txt”,data); |
推送文件 | 推送文件到设备中去 |
installApp | driver.installApp(“oath/to/my.apk”) driver.installApp(“D://android\apk\ContactManager.Apk”) |
安装应用 | 安装应用到设备中去,需要APK包的路径 |
removeApp | driver.removeApp(“com.example.android.apis”) | 卸载应用 | 从设备中删除一个应用 |
closeApp | driver.closeApp() | 关闭应用 | 关闭打开的用用,默认关闭当前打开的应用。 |
launchApp | driver.closeApp();driver.launchApp(); | 启动应用 | 启动应用 |
isAppinstalled | driver.isAppInstalled(‘com.example.android.apis’) | 检查应用是否安装 | 检查应用是否安装需要穿参应用包的名字,返回结果为true或false |
runAppInBackground | driver.runAPPInBackground(2) | 将应用置于后台 | 将当前活跃的应用程序发送到后台,参数用于指定应用置于后台的时长 |
resetApp | driver.resetApp() | 应用重置 | 重置当前被测程序到初始化状态 |
拓展方法 | 方法应用 | 方法作用 | 详细说明 |
---|---|---|---|
AndrioidSecureKeyBoard | Driver.activate_ime_engine(“io.appium.android.ime/.UnicodeIME”) | 键盘操作(安全键盘) | 弹起,关闭,切换键盘 |
AndroidVerificationCode | 参考链接:blog.csdn.net/qq_33553515/article/details/73344155 | 验证密码 | 自定义验证密码 |
AndroidGesturePassword | 参考链接:blog.csdn.net/cc_lova_wxf/article/details/50675364 | 手势密码 | 自定义手势密码 |
adb shell getprop ro.build.version.release
adb devices 多个设备,使用adb -s devicename 进行指定设备运行
获取系统版本:adb shell getprop ro.build.version.release
获取系统api版本:adb shell getprop ro.build.version.sdk
获取手机相关制造商信息:adb shell getprop | grep "model|version.sdk|manufacture
r|hardware|platform|revision|serialno|product.name|brand"
1、获取手机系统信息( CPU,厂商名称等)
adb shell “cat /system/build.prop | grep “product””
2、获取手机系统版本
adb shell getprop ro.build.version.release
3、获取手机系统api版本
adb shell getprop ro.build.version.sdk
4、获取手机设备型号
adb -d shell getprop ro.product.model
5、获取手机厂商名称
adb -d shell getprop ro.product.brand
6、获取手机的序列号
有两种方式
1、 adb get-serialno
2、 adb shell getprop ro.serialno
7、获取手机的IMEI
有三种方式,由于手机和系统的限制,不一定获取到
1、 adb shell dumpsys iphonesubinfo
其中Device ID即为IMEI号
2、 adb shell getprop gsm.baseband.imei
3、 service call iphonesubinfo 1
此种方式,需要自己处理获取的信息得到
8、获取手机mac地址
adb shell cat /sys/class/net/wlan0/address
9、获取手机内存信息
adb shell cat /proc/meminfo
10、获取手机存储信息
adb shell df
获取手机内部存储信息:
魅族手机: adb shell df /mnt/shell/emulated
其他: adb shell df /data
获取sdcard存储信息:
adb shell df /storage/sdcard
11、获取手机分辨率
adb shell “dumpsys window | grep mUnrestrictedScreen”
12、获取手机物理密度
adb shell wm density