zoukankan      html  css  js  c++  java
  • Mac安装Appium+python教程

    核心架构:Appium使用C/S架构,运行时候Service端会监听Client端发送的命令,接着在移动设备上执行这些命令,然后将执行结果放在 HTTP 响应中返还给客户端。

    一.Mac基础环境

      首先要确定Java、git、ruby、homebrew是否已经全部安装。在终端中输入下图的命令查看:

     如果没有安装,参考下面的方法

      (1)安装Java JDK

        官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载macOS x64对应的dmg安装包,一路下一步默认路径安装,java安装路径一般在:

    /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk

    然后去配置环境变量,在终端执行如下操作:

    # 打开编辑变量文件
    open -e .bash_profile
    
    # 输入如下格式java变量,路径填写个人实际安装路径(默认安装就是如下路径)
    #java
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
    PATH=$JAVA_HOME/bin:$PATH:.
    CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
    export JAVA_HOME
    export PATH
    export CLASSPATH
    
    # 设置完成后需执行该文件以生效
    source .bash_profile

    配置完成后,命令行输入 java -version 查看版本以检测配置是否成功

    localhost:~ xxx$ java -version
    java version "1.8.0_201"
    Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

      (2)Mac上有默认自带安装了git和ruby,homebrew安装的教程参考我的博客:https://www.cnblogs.com/wangyadong/p/12709001.html

    二.测试iOS使用Xcode;测试Android使用android SDK。

      (1)Xcode安装:

        从App Store上下载Xcode后,默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序。为了配置appium环境,我们需

        要安装Xcode Command Line Tools。

        打开终端,输入xcode-select  --install 一路下一步按提示安装,安装参考:https://blog.csdn.net/yxys01/article/details/73456973 验证 xcode command line tools 是否安装成功

      (2)android SDK安装:

        (2.1)下载地址:https://www.androiddevtools.cn  选择Andriod SDK工具,SDK Tools,下载mac版本,解压,我放到/Users/wangyadong/下,终端执行:

    ./android-sdk-macosx/tools/android  此时会打开图形安装工具下图1,只需要手动勾选Extras,其余的默认勾选即可。然后点Install packages(共23个),下图2

      分别选中红框点击Accept License,点击Install,等待安装完成。

      (2.2)配置Android SDK的环境变量。终端执行:

    cd
    open -e .bash_profile
    在文件末尾中加入以下语句并保存,把其中的/Users/xxx/android-sdk-macosx换成你上面解压的android sdk地址(一般都是放在/Users/xxx/下),29.0.3换成你的安装版本
    #sdk
    export ANDROID_HOME=/Users/xxx/android-sdk-macosx
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    #aapt
    AAPT_HOME=/Users/xxx/android-sdk-macosx/build-tools/29.0.3
    export AAPT_HOME
    export PATH=$PATH:$AAPT_HOME
    保存退出,然后终端执行 source .bash_profile
    终端输入adb检查是否安装好,如下图:

    三.安装python3.

      因为Mac自带python2.7,在终端直接输入python -V:

    localhost:~ wangyadong$ python -V

    Python 2.7.10

    python官网下载。 https://www.python.org/downloads/mac-osx/

    下载完成后,点击安装文件,一直点击继续进行安装就可以,安装完成后,可以在终端查看版本。

    localhost:~ wangyadong$ python3 -V
    Python 3.6.5

    在Launchpad中多了两个app,如图:

     

    安装成功后,在终端输入:

    localhost:~ wangyadong$ which python3
    /Library/Frameworks/Python.framework/Versions/3.6/bin/python3     这个就是刚才安装的python3的路径

    或者使用homebrew安装,直接在终端执行

    brew install python3     安装完成后,具体路径是:/usr/local/Cellar/python3/3.6.0。不过不推荐用这种方式安装

    四.安装appium-desktop

     下载地址  http://pan.baidu.com/s/1jGvAISuhttps://github.com/appium/appium-desktop/releases/tag/v1.17.1-1我用的是AppiumDesktop_1.7.1,下载后安装Appium-1.7.1.dmg即可。安装成功后的图标如图:

    五. 安装相关插件

    (5.1)安装node:node是安装npm的前置条件。终端执行:

    localhost:~ wangyadong$ brew install node
    (5.2)安装cnmp:
    Appium Server其实可以通过命令 npm install -g appium来安装。但是npm所下载的服务器在国外,安装会很慢,可能会因为网络原因中断安装。
    所以我们可以使用国内镜像来安装,选用的是淘宝镜像,终端输入: 
    localhost:~ wangyadong$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
    (5.3)安装Appium-Python-Client,终端输入: 
    localhost:~ wangyadong$ pip3 install Appium-Python-Client
    (5.4)安装appium-doctor,终端输入: 
    localhost:~ wangyadong$ cnpm install -g appium-doctor
    上面4步都完成后,终端输入:
    localhost:~ wangyadong$ appium-doctor --android

    发现如下错误(据说不影响正常功能,反正我没再继续安装):

    六.安装android模拟器(二选一:mac推荐使用网易mumu,appium-desktop更新到最新版之后不支持安卓5.0以下版本,夜神mac最新版本自带的是安卓4版本)

    夜神下载地址:https://www.yeshen.com/

    网易mumu下载地址:http://mumu.163.com/
    (6.1)测试连通性(下面二选一,看appium-desktop版本,因为前面我用的appium-desktop是1.7版本,所以我用的夜神)-- 首先在安装好的模拟器中下载QQ
    1.启动夜神模拟器
    终端输入命令:
    adb devices
    如果什么都没找到,只返回如下信息:
    List of devices attached
    应该是SDK和夜神的版本不对。
    解决办法:把SDK下platform-tools中的adb 复制到夜神模拟器下Contents下MacOS中,原来的adb改个名字即可,重启夜神模拟器
    终端再次输入:
    adb devices
    返回如下信息,成功找到模拟器:
    List of devices attached
    127.0.0.1:62001 device
    2.启动网易mumu
    终端输入命令:
    adb devices
    如果什么都没找到,只返回如下信息:
    List of devices attached
    则终端执行:
    adb connect 127.0.0.1:22471
    连接成功后再次输入:
    adb devices
    返回如下信息,成功找到模拟器:
    List of devices attached
    emulator-5554 device
    (6.2)启动appium
    点击图中红框
    使用夜神模拟器,输入如下信息保存 :
    { "platformName": "Android", "platformVersion": "7.1.2", "deviceName": "127.0.0.1:62001", "appActivity": ".activity.LoginActivity", "noReset": true, "app": "com.tencent.mobileqq" }
    若appium-desktop是最新版本,则使用网易mumu,输入如下信息保存:
    { "platformName": "Android", "platformVersion": "6.0.1", "deviceName": "emulator-5554", "appActivity": ".activity.LoginActivity", "noReset": true, "appPackage": "com.tencent.mobileqq" }
    点击Save As,然后点击 Start Session,连接成功!!!
    (6.3)关于上面信息解释和获取(只是测试联通性,具体参数含义自行百度):
    "platformName": "Android",         
    "platformVersion": "7.1.2", 点击start session报错如下图时,是因为填写的版本号不对,只需修改成错误提示中红框的版本号即可。
    "deviceName": "127.0.0.1:62001", 上面执行命令:adb devices 返回的名字
    "appActivity": ".activity.LoginActivity",
    "noReset": true,
    "appPackage": "com.tencent.mobileqq"
    appActivity和appPackage信息获取:
    终端输入命令:
    adb shell
    终端输入命令:
    logcat | grep cmp=
      打开夜神/网易mumu中下载的QQ,返回如下:
    Last login: Fri Apr 17 23:08:27 on ttys000
    localhost:~ wangyadong$ adb shell
    dream2qltechn:/ # logcat | grep cmp=
    04-17 23:40:16.781  7963  7963 D NetConnInfoCenter: receive broadcast Intent { act=com.tencent.mobileqq.msf.startmsf flg=0x10 pkg=com.tencent.mobileqq cmp=com.tencent.mobileqq/.msf.core.NetConnInfoCenter }
    04-17 23:41:42.879  2154  2520 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.tencent.mobileqq/.activity.SplashActivity bnds=[714,448][890,688] (has extras)} from uid 1000 on display 0
    04-17 23:41:43.427  2154  3769 I ActivityManager: START u0 {flg=0x40000 cmp=com.tencent.mobileqq/.activity.LoginActivity (has extras)} from uid 10037 on display 0
    04-17 23:41:43.970  8198  8198 D NetConnInfoCenter: receive broadcast Intent { act=com.tencent.mobileqq.msf.startmsf flg=0x10 pkg=com.tencent.mobileqq cmp=com.tencent.mobileqq/.msf.core.NetConnInfoCenter }
    以qq为例:上面红色的部分
    appActivity:.activity.LoginActivity
    app/appPackage:com.tencent.mobileqq
     
    以上全部完成,Mac上搭建appium+python的环境就算完成了,后面再安装一个pycharm就可以进行appium自动化了。
  • 相关阅读:
    UNIT THREE
    UNIT TWO
    UNIT ONE
    实验九 根据材料编程
    实验五 编写、调试具有多个段的程序
    实验 四 [bx]和loop的使用
    实验二 用机器指令和汇编指令编程
    实验三 编程、编译、连接、跟踪
    实验一 查看CPU和内存,用机器指令和汇编指令编程
    汇编语言第5~8章知识总结
  • 原文地址:https://www.cnblogs.com/wangyadong/p/12709594.html
Copyright © 2011-2022 走看看