安裝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的依賴環(huán)境是否正確配置麸粮,使用下面命令安裝appium-doctor
npm install -g appium-doctor
安裝appium-doctor可能提示沒有權(quán)限,如果提示Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
錯誤镜廉,可使用sudo npm install -g appium-doctor
命令安裝
如果不想使用sudo安裝弄诲,可通過修改目錄的讀寫權(quán)限,使用sudo chmod -R 777 /usr/local/lib/node_modules
娇唯,然后執(zhí)行npm install -g appium-doctor
來安裝
sudo chomod -R 777 [path]
修改目錄的權(quán)限為讀和寫以及執(zhí)行
安裝完appium-doctor后齐遵,使用appium-doctor --ios校驗ios環(huán)境,使用appium-doctor --android校驗安卓環(huán)境
Appium for mac iOS環(huán)境配置
模擬器測試
1塔插、打開Appium桌面客戶端
點擊Start Server
啟動Appium服務(wù)端
2梗摇、設(shè)置Desired Capabilities,運行測試
查看可用的模擬器
xcrun simctl list devices
點擊Appium桌面端右上角的搜索按鈕佑淀,設(shè)置Desired Capabilities
參數(shù)說明:
{
"platformName": "ios", // 運行平臺
"deviceName": "iPhone 8", // 設(shè)備名
"platformVersion": "10.3.3", // 系統(tǒng)版本
"bundleId": "com.apple.mobilesafari", // App bundleId留美,這里使用iOS自帶的safari瀏覽器測試
}
點擊Start session
,開始測試
第一次啟動伸刃,Appium客戶端會運行WebDriverAgent bootstrap script安裝依賴,這里要等一會
依賴安裝成功之后逢倍,appium 會啟動 iOS 設(shè)備上的 Safari 瀏覽器捧颅,并彈出 appium inspector 窗口
可能遇到的錯誤
原因:xcode缺少組件,打開xcode會彈出如下提示较雕,點擊安裝即可
iOS真機環(huán)境配置
真機運行iOS測試碉哑,需要安裝兩個軟件
1、安裝libimobiledevice亮蒋,這是用于連接 iOS 設(shè)備的開源工具扣典,類似于 Android 的 ADB
brew install libimobiledevice --HEAD
2、安裝ios-deploy慎玖,這是支持使用命令行管理 iOS 設(shè)備 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工程設(shè)置簽名證書(這里使用免費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
證書設(shè)置完之后,使用
command+U
運行WebDriverAgentRunner到真機上運行完之后铺浇,真機上會多個WebDriverAgentRunner的App痢畜,App啟動之后馬上退出,這是正常的
控制臺會輸出如下信息:
WebDriverAgentRunner啟動后會在設(shè)備開啟一個單獨的進程運行
這里可能碰到一個問題,Server URL的端口號是0
解決方案:#661
修改Open the appium-xcuitest-driver/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m, and set the port to 8100 in line 123.
- 執(zhí)行以下命令丁稀,將 iOS 設(shè)備上 WebDriverAgentRunner 監(jiān)聽的 8100 端口映射到 macOS 本地的 8100 端口
iproxy 8100 8100 iOS設(shè)備udid
- 在瀏覽器輸入
http://192.168.2.6:8100/status
吼拥,可查看WebDriverAgentRunner的運行狀態(tài)
設(shè)備上運行
重復模擬器設(shè)置步驟,運行Appium桌面端二驰,
查看設(shè)備信息
xcrun simctl list devices
設(shè)置Desired Capabilities
{
"platformName": "ios", // 平臺
"deviceName": "yfm-iPhone", // 設(shè)備名
"platformVersion": "10.3.3", // 設(shè)備系統(tǒng)版本
"bundleId": "com.taobao.tmall", // 天貓App
"udid": "ad7cda4b4e7e7201865f5420b340566dd256038e" // 設(shè)備udid
}
這里設(shè)置的bundleId為天貓App的bundleId
運行成功后扔罪,可看到下圖
注:這里可使用Appium查看任意App的布局
Appium for mac Android環(huán)境配置
Android環(huán)境配置
1、安裝java桶雀,自行百度
可使用which java
矿酵,查看java目錄
2、下載安裝AndroidStudio
3矗积、設(shè)置環(huán)境變量
使用下面命令查看當前shell
echo $SHELL
如果默認shell是zsh
在.zshrc中設(shè)置環(huán)境變量全肮,這里以我本機目錄為例,請自行修改:
# 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下配置
設(shè)置完之后重啟電腦辜腺,再次使用Appium-doctor校驗
4、如果不知道adb工具在哪乍恐,可以先在命令行里通過find搜索
find /Users -name adb # 搜索用戶目錄
find / -name adb # 搜索全盤
5评疗、查找可用的Android設(shè)備
adb devices
6、使用Appium-doctor校驗環(huán)境
Android安裝問題
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
原因:為設(shè)置環(huán)境變量
解決方案