1 appium安装及环境搭建php
1.1 安装JDK并配置环境变量html
--------------------------------------java
C:\Users\zhouxy>java –version node
Java version "1.8.0_91" android
-------------------------------------- web
1.2 Android SDK环境搭建android-studio
下载Android SDK:http://tools.android-studio.org/index.php/sdkoracle
-------------------------------------------------app
C:\Users\zhouxy>adb
Android Debug Bridge version 1.0.40
Version 4797878
Installed as D:\Android\android-sdk\platform-tools\adb.exeide
---------------------------------------------------
1.3 Python环境搭建
略。pip install Appium-Python-Client
1.4 安装node.js
---------------------------------
C:\Users\zhouxy>node -v
v8.11.3
--------------------------------
1.5 安装Appium
下载后解压,直接双击appium-installer.exe文件安装,桌面会生成一个appium的图标
将安装的Appium文件夹所在目录\Appium\node_modules\.bin添加进path
--------------------------------------------------------
C:\Users\zhouxy>appium-doctor
Running Android Checks
✔ ANDROID_HOME is set to "D:\Android\android-sdk"
✔ JAVA_HOME is set to "D:\sunline-ide\jdk1.8.0_91."
✔ ADB exists at D:\Android\android-sdk\platform-tools\adb.exe
✔ Android exists at D:\Android\android-sdk\tools\android.bat
✔ Emulator exists at D:\Android\android-sdk\tools\emulator.exe
✔ Android Checks were successful.
✔ All Checks were successful
--------------------------------------------------------
2 安装Android版本
双击 SDK Manage.exe 启动SDK管理器
双击 AVD Manage.exe 启动AVD管理器
点击 “Create…” 按钮,建立Android虚拟机
不要选择超过电脑屏幕分辨率的Device,其它选项参考上图。点击 “OK” 建立完成。在 AVD Manage 工具中选中建立的Android虚拟机,点击 “Start…” 按钮启动
打开Appium,点击右上角三角按钮,注意Appium的启动日志
3 获取包名和launcherActivity
3.1 aapt工具
aapt即Android Asset Packaging Tool,在SDK的build-tools目录下,该工具能够查看apk包名和launcherActivity。
在build-tools安装的版本下录下找到aapt.exe,将这个路径设置环境变量,添加到path下。
打开cmd,输入aapt出现以下界面
3.2 获取apk包名
3.3 获取launcherActivity
或者直接在tools启动monitor.bat或者uiautomatorviewer.bat,可用来查看元素
4 Appium的API操做
deviceName:启动哪一种设备,是真机仍是模拟器?iPhone Simulator,iPad Simulator,iPhone Retina 4-inch,Android Emulator,Galaxy S4…
automationName:使用哪一种自动化引擎。appium(默认)仍是Selendroid。
platformName:使用哪一种移动平台。iOS, Android, orFirefoxOS。
platformVersion:指定平台的系统版本。例如指的Android平台,版本为5.1。
appActivity:待测试的app的Activity名字。好比MainActivity、.Settings。注意,原生app的话要在activity前加个”.“。
appPackage:待测试的app的Java package。好比com.example.android.myApp, com.android.settings。
from appium import webdriver desired_caps={} desired_caps['platformName']='Android' desired_caps['platformVersion']='4.4.2' desired_caps['deviceName']='Android Emulator' desired_caps['appPackage']='com.android.calculator2' desired_caps['appActivity']='.Calculator' driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) driver.find_element_by_name('9').click() driver.find_element_by_accessibility_id('plus').click() driver.find_element_by_name('8').click() driver.find_element_by_accessibility_id('equals').click()
driver.quit()
4.1.1 安装应用
4.1.2 卸载应用
4.1.3 关闭应用
4.1.4 启动应用
4.1.5 检查应用是否安装
4.1.6 将应用置于后台
4.1.7 应用重置
4.2.1 获取当前上下文
4.2.2 当前全部上下文句柄
4.2.3 切换上下文
4.3.1 sendKeys()方法
4.3.2 pressKeyCode()方法
下面提供Android keycode参考表:
电话键:
KEYCODE_CALL 拨号键 5
KEYCODE_ENDCALL 挂机键 6
KEYCODE_HOME 按键Home 3
KEYCODE_MENU 菜单键 82
KEYCODE_BACK 返回键 4
KEYCODE_SEARCH 搜索键 84
KEYCODE_CAMERA 拍照键 27
KEYCODE_FOCUS 拍照对焦键 80
KEYCODE_POWER 电源键 26
KEYCODE_NOTIFICATION 通知键 83
KEYCODE_MUTE 话筒静音键 91
KEYCODE_VOLUME_MUTE 扬声器静音键 164
KEYCODE_VOLUME_UP 音量增长键 24
KEYCODE_VOLUME_DOWN 音量减少键 25
控制键:
KEYCODE_ENTER 回车键 66
KEYCODE_ESCAPE ESC键 111
KEYCODE_DPAD_CENTER 导航键 肯定键 23
KEYCODE_DPAD_UP 导航键 向上 19
KEYCODE_DPAD_DOWN 导航键 向下 20
KEYCODE_DPAD_LEFT 导航键 向左 21
KEYCODE_DPAD_RIGHT 导航键 向右 22
KEYCODE_MOVE_HOME 光标移动到开始键 122
KEYCODE_MOVE_END 光标移动到末尾键 123
KEYCODE_PAGE_UP 向上翻页键 92
KEYCODE_PAGE_DOWN 向下翻页键 93
KEYCODE_DEL 退格键 67
KEYCODE_FORWARD_DEL 删除键 112
KEYCODE_INSERT 插入键 124
KEYCODE_TAB Tab键 61
KEYCODE_NUM_LOCK 小键盘锁 143
KEYCODE_CAPS_LOCK 大写锁定键 115
KEYCODE_BREAK Break/Pause键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169
组合键:
KEYCODE_ALT_LEFT Alt+Left
KEYCODE_ALT_RIGHT Alt+Right
KEYCODE_CTRL_LEFT Control+Left
KEYCODE_CTRL_RIGHT Control+Right
KEYCODE_SHIFT_LEFT Shift+Left
KEYCODE_SHIFT_RIGHT Shift+Right
基本:
KEYCODE_0 按键’0’ 7
KEYCODE_1 按键’1’ 8
KEYCODE_2 按键’2’ 9
KEYCODE_3 按键’3’ 10
KEYCODE_4 按键’4’ 11
KEYCODE_5 按键’5’ 12
KEYCODE_6 按键’6’ 13
KEYCODE_7 按键’7’ 14
KEYCODE_8 按键’8’ 15
KEYCODE_9 按键’9’ 16
KEYCODE_A 按键’A’ 29
KEYCODE_B 按键’B’ 30
KEYCODE_C 按键’C’ 31
KEYCODE_D 按键’D’ 32
KEYCODE_E 按键’E’ 33
KEYCODE_F 按键’F’ 34
KEYCODE_G 按键’G’ 35
KEYCODE_H 按键’H’ 36
KEYCODE_I 按键’I’ 37
KEYCODE_J 按键’J’ 38
KEYCODE_K 按键’K’ 39
KEYCODE_L 按键’L’ 40
KEYCODE_M 按键’M’ 41
KEYCODE_N 按键’N’ 42
KEYCODE_O 按键’O’ 43
KEYCODE_P 按键’P’ 44
KEYCODE_Q 按键’Q’ 45
KEYCODE_R 按键’R’ 46
KEYCODE_S 按键’S’ 47
KEYCODE_T 按键’T’ 48
KEYCODE_U 按键’U’ 49
KEYCODE_V 按键’V’ 50
KEYCODE_W 按键’W’ 51
KEYCODE_X 按键’X’ 52
KEYCODE_Y 按键’Y’ 53
KEYCODE_Z 按键’Z’ 54