1. 程式人生 > >Mac OS X EI Capitan 10.11 上搭建環境踩坑記錄

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 的記錄到這了