zoukankan      html  css  js  c++  java
  • appium安装及环境搭建、入门

    1 appium安装及环境搭建

    1.1 安装JDK并配置环境变量

    1. Java官方网站上下载相应系统的jdk文件安装,全部选择默认的安装路径即可安装完成。
    2. 配置JAVA_HOME:新建 JAVA_HOME 环境变量,变量值是自己安装JDK 的路径
    3. 配置ClASSPATH:新建 CLASSPATH 环境变量:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
    4. 配置PATH:找到PATH变量,追加如下目录:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
    5. 验证安装是否成功:java -version

    --------------------------------------

    C:Userszhouxy>java –version  

    Java version "1.8.0_91"       

    -------------------------------------- 

    1.2 Android SDK环境搭建

    下载Android SDK:http://tools.android-studio.org/index.php/sdk

    • 新建 ANDROID_HOME 环境变量,变量值是SDK解压的路径
    • 追加sdk如下目录到PATH变量:
      1. tools目录:%ANDROID_HOME% ools
      2. platform-tools目录:%ANDROID_HOME%platform-tools
      3. build-tools目录:%ANDROID_HOME%uild-toolsandroid-4.4W
    • 验证:在命令行窗口中输入adb

    -------------------------------------------------

    C:Userszhouxy>adb
    Android Debug Bridge version 1.0.40
    Version 4797878
    Installed as D:Androidandroid-sdkplatform-toolsadb.exe

    ---------------------------------------------------

    1.3 Python环境搭建

    略。pip install Appium-Python-Client

    1.4 安装node.js

    1. 到官网下载node.js: https://nodejs.org/en/。获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装
    2. 把Node.js的安装路径(也就是node.exe文件所在的目录)追加到环境变量Path
    3. 验证:在命令行窗口中输入node –v

    ---------------------------------        

    C:Userszhouxy>node -v
    v8.11.3

    --------------------------------

    1.5 安装Appium

          下载后解压,直接双击appium-installer.exe文件安装,桌面会生成一个appium的图标

    • 手动在Path中配置appium环境变量:

          将安装的Appium文件夹所在目录Appium ode_modules.bin添加进path

    • 验证:输入appium-doctor ,出现以下提示说明环境成功。

    --------------------------------------------------------

    C:Userszhouxy>appium-doctor
    Running Android Checks
    ✔ ANDROID_HOME is set to "D:Androidandroid-sdk"
    ✔ JAVA_HOME is set to "D:sunline-idejdk1.8.0_91."
    ✔ ADB exists at D:Androidandroid-sdkplatform-toolsadb.exe
    ✔ Android exists at D:Androidandroid-sdk oolsandroid.bat
    ✔ Emulator exists at D:Androidandroid-sdk oolsemulator.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包名

    • 将准备测试的APK放到D盘某个目录,如D: est
    • 打开cmd,输入指令aapt dump badging D: estxxx.apk(APK的全名,如手机淘宝.apk)
    • package:name='包名'

    3.3 获取launcherActivity

    • launchable-activity:name='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 API之应用操作

    4.1.1 安装应用

    • installApp() #指定apk路径

    4.1.2 卸载应用

    • removeApp() #指定包名

    4.1.3 关闭应用

    • closeApp()

    4.1.4 启动应用

    • launchApp()

    4.1.5 检查应用是否安装

    • isAppInstalled() #指定包名

    4.1.6 将应用置于后台

    • runAppInBackground() #指定置于后台的时长

    4.1.7 应用重置

    • resetApp()

    4.2 API之上下文操作

    4.2.1 获取当前上下文

    • getContext()

    4.2.2 当前所有上下文句柄

    • getContextHandles()

    4.2.3 切换上下文

    • context() #指定上下文名称

    4.3 API 之键盘操作

    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

  • 相关阅读:
    POJ 1681 Painter's Problem(高斯消元法)
    HDU 3530 Subsequence(单调队列)
    HDU 4302 Holedox Eating(优先队列或者线段树)
    POJ 2947 Widget Factory(高斯消元法,解模线性方程组)
    HDU 3635 Dragon Balls(并查集)
    HDU 4301 Divide Chocolate(找规律,DP)
    POJ 1753 Flip Game(高斯消元)
    POJ 3185 The Water Bowls(高斯消元)
    克琳:http://liyu.eu5.org
    WinDbg使用
  • 原文地址:https://www.cnblogs.com/cirr-zhou/p/9350656.html
Copyright © 2011-2022 走看看