Mac OS X EI Capitan 10.11 上搭建環境踩坑記錄
Failed log DAY 1
Step1. 安裝homebrew
開啟終端 輸入下面的東東
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝完成之後 輸入brew -v 如果有版本號出來就OK拉
ZeckTang-MacBook-Air:~ zecktang$ brew -v
Homebrew 0.9.5 (git revision 18cf; last commit 2015-12-09)
Step2. 安裝node
在終端 輸入下面的東東
brew install node
安裝完成之後
輸入node -v 如果有版本號出來就OK拉
ZeckTang-MacBook-Air:~ zecktang$ node -v
v5.1.1
–這個過程中有可能會失敗,多試幾次就好了
Step3. 安裝 appium
還是在終端 輸入下面的東東
npm install -g appium
裝好之後呢 可以輸入 appium-doctor 試下是否OK,睜大眼睛appium後面沒跟空格。
–安裝過程還是有可能會失敗,retry吧少年
Step4. 檢查xCode
在終端 輸入下面的東東
appium-doctor
會出來下面的東西
Running iOS Checks
✔ Xcode is installed at /Applications/Xcode.app/Contents/Developer
✔ Xcode Command Line Tools are installed.
✔ DevToolsSecurity is enabled.
✔ The Authorization DB is set up properly.
✔ Node binary found at /usr/local/bin/node
✔ iOS Checks were successful.
Running Android Checks
✖ ANDROID_HOME is not set
Appium-Doctor detected problems. Please fix and rerun Appium-Doctor.
iOS Checks 都通過打鉤就表示OK了,如果有沒通過的 輸入y安裝好就行了
遇到的坑
好了到了坑了
samplecode-master/sample-code/apps/TestApp
進到這個目錄在終端輸入下面的東東:
xcodebuild -sdk iphonesimulator
會冒出來很大一堆東西
/usr/bin/touch -c /Users/zecktang/Documents/autotest/sample-code/apps/TestApp/build/Release-iphonesimulator/TestApp.app
** BUILD SUCCEEDED **
ZeckTang-MacBook-Air:TestApp zecktang$
最後當看到BUILD SUCCEEDED則說明編譯成功
編譯成功之後 進入如下目錄
cd /samplecode-master/sample-code/examples/python
然後 執行 ios_simple.py
即進到上面那個目錄後 在終端輸入
python ios_simple.py
OK,good,遇到一號坑了
提示appium 的 webdriver 找不到!
媽蛋的,去賤賤的搜了一下,找到了可能的答案
是mac的自帶的 python版本問題
需要把系統的python替換成appium的python
在終端git 這個 地址
拉完之後
sudo python setup.py
等著搞完就好了
恩,感覺妥妥的編譯OK。
於是二號坑來了
出來了下面這一大段,於是仔細看看:
WebDriverException: Message: A new session could not be created.
(Original error: Could not find a device to launch. You requested 'iPhone 6 (8.3)',but the available devices were: ["iPad 2 (9.1)[B1793443-557C-4DAE-B5E5-371CC1ABBC18]",
"iPad Air (9.1) [81E1548D-268D-46C6-BE55-2F8B2CF7961D]",
"iPad Air 2 (9.1) [B765AEEB-D5C7-49DF-A48F-BA4D82658948]",
"iPad Pro (9.1) [B208F3B6-7A8E-4BB9-B3E2-968743D45984]",
"iPad Retina (9.1)[DEC5F328-E5B5-4AF4-BD71-8FB96EA20972]",
"iPhone 4s (9.1)[465AD1F7-E85D-4652-BD61-0651DBA18477]",
"iPhone 5 (9.1) [A6A8206D-6859-4FA4-8467-36AFC724244C]",
"iPhone 5s (9.1) [C6146A03-4771-4169-9F8E-6AE1754D109C]",
"iPhone 6 (9.1) [15015DE0-3BFF-4D13-A61D-C9AE3F152898]",
"iPhone 6 Plus (9.1)[A07AA020-2CE6-49A6-B166-BE33C7E2FF78]",
"iPhone 6s (9.1) [C57980BD-976C-4208-AB02-8DCBBF2B6E2F]",
"iPhone 6s (9.1) + Apple Watch - 38mm (2.0)+ +[DC4C72A3-34A1-4517-89AD-FFEC1EAD03A4]",
"iPhone 6s Plus (9.1) [652484FC-B7F0-4995-B930-924C95586976]",
"iPhone 6s Plus (9.1)+ Apple Watch - 42mm(2.0)[822F1F24-043D-46FA-AF22-9EB47BCC8222]"])
----------------------------------------------------------------------
Ran 2 tests in 6.220s
FAILED (errors=2)
ZeckTang-MacBook-Air:python zecktang$
對了,就是
Original error: Could not find a device to launch. You requested ‘iPhone 6 (8.3)
這一行,說的就是指令碼指定的是iPhone 6
iOS版本是8.3的,但是本地全是iOS版本 9.1的。
所以
vi ios_simple.py
找到
'platformVersion': '8.3',
這一行 改成
'platformVersion': '9.1'
然後ESC :wq
搞定!
恩,然後就沒然後了。
如果還是沒編譯OK,檢查下appium 是否有啟動
就是在終端輸入
appium &
就可以看出來的[X]aaaaa X是不是1就可以了
ZeckTang-MacBook-Air:TestApp zecktang$ appium &
[2] 12291
這個表示有2個了
OK. DAY 1 的記錄到這了