Appium for mac环境配置
安装Nodejs
1、安装包安装
下载安装Nodejs
在mac下的安装目录如下
- Node.js v8.11.1 to /usr/local/bin/node
- npm v5.6.0 to /usr/local/bin/npm
Make sure that /usr/local/bin is in your $PATH.
安装完之后,可使用node -v
查看node版本,npm -v
查看npm版本
2、brew安装
brew install node
安装Appium
Appium可使用安装包和npm安装
1、安装包安装
下载安装Appium-desktop客户端,双击dmg安装
2、npm安装
npm install -g appium
验证安装
使用appium-doctor校验Appium的依赖环境是否正确配置,使用下面命令安装appium-doctor
npm install -g appium-doctor
安装appium-doctor可能提示没有权限,如果提示Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
错误,可使用sudo npm install -g appium-doctor
命令安装
如果不想使用sudo安装,可通过修改目录的读写权限,使用sudo chmod -R 777 /usr/local/lib/node_modules
,然后执行npm install -g appium-doctor
来安装
sudo chomod -R 777 [path]
修改目录的权限为读和写以及执行
安装完appium-doctor后,使用appium-doctor --ios校验ios环境,使用appium-doctor --android校验安卓环境
image.pngAppium for mac iOS环境配置
模拟器测试
1、打开Appium桌面客户端
image.png点击Start Server
启动Appium服务端
2、设置Desired Capabilities,运行测试
image.png查看可用的模拟器
xcrun simctl list devices
点击Appium桌面端右上角的搜索按钮,设置Desired Capabilities
参数说明:
{
"platformName": "ios", // 运行平台
"deviceName": "iPhone 8", // 设备名
"platformVersion": "10.3.3", // 系统版本
"bundleId": "com.apple.mobilesafari", // App bundleId,这里使用iOS自带的safari浏览器测试
}
点击Start session
,开始测试
第一次启动,Appium客户端会运行WebDriverAgent bootstrap script安装依赖,这里要等一会
依赖安装成功之后,appium 会启动 iOS 设备上的 Safari 浏览器,并弹出 appium inspector 窗口
image.png可能遇到的错误
image.png原因:xcode缺少组件,打开xcode会弹出如下提示,点击安装即可
image.pngiOS真机环境配置
真机运行iOS测试,需要安装两个软件
1、安装libimobiledevice,这是用于连接 iOS 设备的开源工具,类似于 Android 的 ADB
brew install libimobiledevice --HEAD
2、安装ios-deploy,这是支持使用命令行管理 iOS 设备 app 的工具
npm install -g ios-deploy
基本配置
安装WebDriverAgent到真机
这里只讲手动配置(每次Appium更新,都需要重新安装一次WebDriverAgent),自动配置请参考这里
-
将真机连接电脑
-
进入WebDriverAgent工程所在的目录
-
打开终端,cd到下面目录
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
-
双击
WebDriverAgent.xcodeproj
打开WebDriverAgent工程 -
设置签名证书(这里使用免费App Id的自签名证书):
-
打开工程TARGETS,选择WebDriverAgentLib->General,修改Bundle Identify为
com.yfm.wda.lib
- 选择IntegrationApp->General,修改Bundle Identify为
com.yfm.wda.integrationApp
- 选择WebDriverAgentRunner->Build Settings,修改Bundle Identify为
com.yfm.WebDriverAgentRunner
-
证书设置完之后,使用
command+U
运行WebDriverAgentRunner到真机上 -
运行完之后,真机上会多个WebDriverAgentRunner的App,App启动之后马上退出,这是正常的
-
控制台会输出如下信息:
WebDriverAgentRunner启动后会在设备开启一个单独的进程运行
这里可能碰到一个问题,Server URL的端口号是0
解决方案:#661
修改Open the appium-xcuitest-driver/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m, and set the port to 8100 in line 123.
- 执行以下命令,将 iOS 设备上 WebDriverAgentRunner 监听的 8100 端口映射到 macOS 本地的 8100 端口
iproxy 8100 8100 iOS设备udid
- 在浏览器输入
http://192.168.2.6:8100/status
,可查看WebDriverAgentRunner的运行状态
设备上运行
重复模拟器设置步骤,运行Appium桌面端,
查看设备信息
xcrun simctl list devices
设置Desired Capabilities
{
"platformName": "ios", // 平台
"deviceName": "yfm-iPhone", // 设备名
"platformVersion": "10.3.3", // 设备系统版本
"bundleId": "com.taobao.tmall", // 天猫App
"udid": "ad7cda4b4e7e7201865f5420b340566dd256038e" // 设备udid
}
这里设置的bundleId为天猫App的bundleId
运行成功后,可看到下图
image.png注:这里可使用Appium查看任意App的布局
Appium for mac Android环境配置
Android环境配置
1、安装java,自行百度
可使用which java
,查看java目录
2、下载安装AndroidStudio
3、设置环境变量
使用下面命令查看当前shell
echo $SHELL
如果默认shell是zsh
在.zshrc中设置环境变量,这里以我本机目录为例,请自行修改:
# add Android PATH
export ANDROID_HOME=~/Library/Android/sdk
export PATH=/Users/yangfangming/Library/Android/sdk/platform-tools/:$PATH
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=${JAVA_HOME}/bin:$PATH
如果是默认shell是bash,请在.bash_profile下配置
设置完之后重启电脑,再次使用Appium-doctor校验
4、如果不知道adb工具在哪,可以先在命令行里通过find搜索
find /Users -name adb # 搜索用户目录
find / -name adb # 搜索全盘
5、查找可用的Android设备
adb devices
6、使用Appium-doctor校验环境
image.pngAndroid安装问题
1、Unable to access Android SDK add-on list
解决方法:在自己AndroidStudio的安装目录下找到:bin/idea.properties打开这个文件末尾添加一行disabled.android.first.run=true
2、https://dl.google.com/android/repository/android_m2repository_r47.zip下载失败
解决方法:翻墙
3、command not found: adb
原因:为设置环境变量
解决方案