Mac安装配置Appium + python笔记

第一次 mac 上安装 appium 做一下笔记,记录下遇到的问题及解决方法,网上大把的教程,这里也是参考各位大神进行整理的笔记,如记录有误,也请多多指教!

  • 要用到的软件
    个人感觉 Mac 系统中安装 appium 稍微比win较麻烦

    nodejs 
    JAVA jdk
    android sdk
    appium
    Python			# 个人使用python3
    pycharm
    
  • 安装 node
    下载地址:https://nodejs.org/zh-cn/
    直接双击下一步进行安装,安装完成后命令行输入命令查看安装是否成功

    # 查看安装是否成功
    node -v
    # 查看npm安装是否成功
    npm -v
    
  • 安装cnpm
    npm有时会因网络问题下载报错,所以用淘宝的 cnpm 替代,本人在使用中安装软件有时会报错,不一定能正常使用;安装:依然先使用 npm 进行安装 cnpm,命令行命令如下:

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm -v       # 查看cnpm版本号,是否安装成功
    
  • 配置java jdk环境变量 、 android sdk环境变量
    1、JAVA 环境
    官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    下载 Java 的 dmg 一路下一步默认路径安装,java安装路径一般在:

    /Library/Java
    

    配置环境变量,在家目录下的一个隐藏文件 .bash_profile,无该文件时自行创建

    # 打开编辑变量文件
    sudo vi ~.bash_profile
    
    # 输入如下格式java变量,路径填写个人实际路径
    export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home'
    export CLASS_PATH=.:$JAVA_HOME/lib
    export PATH=${PATH}:$JAVA_HOME/bin
    
    # 设置完成后需执行该文件以生效
    source ~/.bash_profile
    

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

    Mac-mini:~ Mac$ java -version
    java version "1.8.0_211"
    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
    

    2、android sdk 环境变量
    下载站点:https://www.androiddevtools.cn/#
    Mac安装配置Appium + python笔记_第1张图片
    将压缩便解压到自己的目录下,打开编辑变量文件,

    sudo vi ~.bash_profile
    

    添加进安卓sdk的变量,文件实际路径查看自己解压的目录,第四行根据自己实际版本填写

    export ANDROID_HOME=/Users/gametest/Library/Android/sdk
    export PATH=${PATH}:${ANDROID_HOME}/tools
    export PATH=${PATH}:${ANDROID_HOME}/platform-tools
    export PATH=${PATH}:${ANDROID_HOME}/build-tools/28.0.1
    
    # 设置完成后需执行该文件以生效
    source ~/.bash_profile
    
    # 执行后输入 adb 检测是否成功
    > adb
    
  • 配置python环境
    1、安装python3(系统一般自带python2.7,需python3 的需自行下载安装)
    下载站点:https://www.python.org/ 下一步安装,python一般会自动配置环境变量,在命令行输入
    python3 查看是否成功
    2、 配置 python 依赖的包

    sudo pip install Appium-Python-Client
    
  • 安装 brew 和 carthage
    brew 为 mac的一个包管理工具,类似 python 的 pip
    brew 安装要用到 ruby 命令

    ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    brew -v 查看安装是否成功
    附卸载 brew 的指令

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    

    安装 carthage,为防止有时 appium 启动报错

    brew install carthage
    
  • 安装appium
    有命令行和GUI包两种安装,建议下载dmg安装包手动安装
    1、官网下载dmg包直接双击下一步安装,地址:http://appium.io/
    2、cnpm安装(无图形界面,也可npm安装)

    cnpm install -g appium
    

    命令行安装的,要启动时在命令行直接输入 appium

  • 安装appium-doctor
    1、可以 cnpm 安装,但测试输入 appium-doctor 时报错,我用的时第二条成功

    cnpm install appium-doctor
    

    2、直接使用 npm 安装,测试可成功运行

    # 安装
    sudo npm install -g appium-doctor
    
    # 查看版本看暗转是否成功
    appium-doctor -v
    

    确定所有依赖是否安装成功,可通过命令行输入 appium-doctor 测试 appium 所需环境是否完整
    绿色对勾为正常,有红色 x 需要重新调整

    appium-doctor
    

    至此,出现如图绿色对勾,表明环境搭建已基本完成
    Mac安装配置Appium + python笔记_第2张图片
    该命令可直接查看连接 iOS 设备所需依赖是否完整
    appium-doctor --ios

  • 安装Xcode、pycharm
    Xcode 必须要装,pycharm 根据个人需要

    =可能出现的错误以及解决方法=
    报错: appium-doctor 检测appium环境 如果 Xcode 报错时

    WARN AppiumDoctor ✖ Xcode is NOT installed!
    

    在已安装 Xcode 的情况下,检测未安装
    原因:Xcode的安装路径和appium所检测的路径不同
    解决办法:输入如下命令:

    xcode-select -p
    

    查看目前自己的Xcode安装路径,查询结果:

    /Library/Developer/CommandLineTools
    
    

    将Xcode的安装路径改为:/Applications/Xcode.app/Contents/Developer
    输入命令修改 Xcode 安装路径:

     sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    

    再次输入命令检测:

    appium-doctor
    

    报错解除

    又一个报错:

    WARN AppiumDoctor  ✖ opencv4nodejs cannot be found.
    

    解决方法:看别人大佬的
    http://www.mamicode.com/info-detail-2633199.html

  • 安装连接真机所需的依赖
    连接真机需要安装依赖包 libimobiledevice、ios-deploy,使用 brew 工具安装所需依赖

    # 安装 libimobiledevice(真机测试需要)
    brew install libimobiledevice
    # 安装 ios-deploy(真机测试需要)
    brew install ios-deploy
    
  • Mac 连接 iOS 真机

    1、连接真机手机端需安装 WebDriverAgent,需要用 Xcode 构建工程并安装到手机,WebDriverAgent 已在appium的安装目录下,进入如下目录,或查看自己实际安装的目录

    cd  /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
    

    2、在当前目录下执行脚本,安装过程中有时会因 npm 问题报错,可尝试重新执行

    sh ./Scripts/bootstrap.sh
    

    3、完成后在该目录下找到如图目录,双击该目录会默认使用Xcode打开
    Mac安装配置Appium + python笔记_第3张图片
    学习几位老哥:
    https://www.cnblogs.com/meitian/p/7360097.html
    https://www.cnblogs.com/meitian/p/7359787.html
    https://www.jianshu.com/p/5a7763973132
    手机端安装好 WebDriverAgent 就可以愉快的连接 iOS手机进行操作了 (iOS 版本太新 Appium 可能会不支持)

    from appium import webdriver
    
    cap = {
            "automationName": "XCUITest",
            "platformName": "ios",
            "platformVersion": "12.2",
            "deviceName": "iPhone 6",
            "browserName": "Safari",
            "udid": "填写自己手机的 udid ",
            }
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", cap)
    driver.get("https://m.baidu.com")
    

    udid 获取方法,iOS 根据提示获取,简单:http://www.pgyer.com/udid/

  • 连接模拟器进行测试:

    参考:https://www.cnblogs.com/yoyoketang/p/7571754.html
    连接模拟器时会自动安装 WebDriverAgent
    在真机上是安装.ipa的包,在模拟器上是安装.app的包。
    这是两种不同的打包方法,也就是说从appstore这种渠道下载的.ipa是无法安装到模拟器上的,必须要找你们开发专门针对iOS模拟器打个模拟器的包,后缀是.app
    此处有一个供练习使用的app包,appium 官方的的包,可以下载:https://github.com/appium/appium
    TestApp.app 的包在如下路径中

    appium-master/sample-code/apps/TestApp.app
    

    可在命令行中进行安装此app

    xcrun simctl uninstall booted TestApp.app   
    

    也可将该 app 文件直接鼠标拖动到模拟器中进行安装

    安装完成后可用如下进行启动 app

    from appium import webdriver
    
    cap = {
            "automationName": "XCUITest",
            "platformName": "ios",
            "platformVersion": "12.2",
            "deviceName": "iPhone 6",
            "app": "/Users/zhng/Desktop/appium-master/sample-code/apps/TestApp.app"      # .app 文件的路径
            }
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", cap)
    
    driver.find_element_by_id('IntegerA').send_keys('你好1 TestApp!') 
    

Mac安装配置Appium + python笔记_第4张图片

如下有报错但不影响基本功能,可后续调整
Mac安装配置Appium + python笔记_第5张图片

你可能感兴趣的:(Mac安装配置Appium + python笔记)