记录一次Mac上安装配置Appium + python

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

要用到的软件

个人感觉 Mac 系统中安装 appium 稍微比win较麻烦一点

nodejs 
JAVA jdk
android sdk
appium
Python          # 个人使用python3
pycharm

安装 node.js

下载地址:https://nodejs.org/zh-cn/
直接双击下一步进行安装,安装完成后命令行输入命令查看安装是否成功

# 查看node安装是否成功
node -v

# 查看npm安装是否成功
npm -v

安装cnpm

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

npm install -g cnpm --registry=https://registry.npm.taobao.org

# 查看cnpm版本号,是否安装成功
cnpm -v       

配置java jdk环境变量 、 android sdk环境变量

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)
android sdk 环境变量

下载站点:https://www.androiddevtools.cn/#

image.png

将压缩包解压到自己的目录下,打开编辑变量文件,添加环境变量

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 检测是否成功

Mac-mini:~ NiHao$ adb
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as /Library/android-sdk-macosx/platform-tools/adb

global options:
 -a         listen on all network interfaces, not just localhost
 -d         use USB device (error if multiple devices connected)
 -e         use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL  use device with given serial (overrides $ANDROID_SERIAL)
 -t ID      use device with given transport id
 -H         name of adb server host [default=localhost]
 -P         port of adb server [default=5037]
 -L SOCKET  listen on given socket for adb server [default=tcp:localhost:5037]

general commands:
 devices [-l]             list connected devices (-l for long output)
 help                     show this help message
 version                  show version num
、、、 、、、
、、、 、、、

配置python环境

安装python3(系统一般自带python2.7,需python3.x 的需自行下载安装)

下载站点:https://www.python.org/, 下一步安装,python一般会自动配置环境变量,在命令行输入python3 查看是否成功

Mac-mini:~ NiHao$ python3
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
配置 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 查看安装是否成功

Mac-mini:~ NiHao$ brew -v
Homebrew 2.1.6
Homebrew/homebrew-core (git revision a443; last commit 2019-06-19)

附卸载 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 --version

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

appium-doctor

至此,出现如图绿色对勾,表明环境搭建已基本完成


image.png

该命令可直接查看连接 iOS 设备所需依赖是否完整

appium-doctor --ios

安装Xcode、pycharm

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

=====可能出现的错误以及解决方法=====

报错:

appium-doctor 检测appium环境 如果 Xcode 报错时

WARN AppiumDoctor ✖ Xcode is NOT installed!

在已安装 Xcode 的情况下,检测未安装
原因:Xcode的安装路径和appium所检测的路径不同
解决办法:修改当前Xcode的安装路径,输入如下命令:
首先查看自己Xcode安装路径

xcode-select -p
# 查询安装路径结果如下:
/Library/Developer/CommandLineTools

将Xcode的安装路径改为:/Applications/Xcode.app/Contents/Developer
命令如下

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打开

image.png

学习几位老哥:
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 可能会不支持)
启动下 Safari 浏览器

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!') 

image.png

如下有报错但不影响基本功能,可后续调整
image.png

你可能感兴趣的:(记录一次Mac上安装配置Appium + python)