Mac os x yosemite安裝appium 1.2.4及運行sample成功遇到的問題

原先使用appium正常,昨天升級了mac os x yosemite系統後,啓動appium,可以看到1.1.0的版本號;但是   啓動appium-doctor時提示

Running iOS Checks

Could not detect Mac OS X Version

Appium-Doctor detected problems. Please fix and rerun Appium-Doctor.


而且編譯並運行示例中的simple程序,編譯並運行後出現失敗


lautekiMacBook-Pro:python lau$ python ios_simple.py 

test_scroll (__main__.SimpleIOSTests) ... ERROR

test_ui_computation (__main__.SimpleIOSTests) ... ERROR


======================================================================

ERROR: test_scroll (__main__.SimpleIOSTests)

----------------------------------------------------------------------

Traceback (most recent call last):

  File "ios_simple.py", line 24, in setUp

    'deviceName': 'iPhone Simulator'

  File "build/bdist.macosx-10.9-intel/egg/appium/webdriver/webdriver.py", line 34, in __init__

    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)

  File "/Library/Python/2.7/site-packages/selenium-2.42.1-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 73, in __init__

    self.start_session(desired_capabilities, browser_profile)

  File "/Library/Python/2.7/site-packages/selenium-2.42.1-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 121, in start_session

    'desiredCapabilities': desired_capabilities,

  File "/Library/Python/2.7/site-packages/selenium-2.42.1-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 173, in execute

    self.error_handler.check_response(response)

  File "/Library/Python/2.7/site-packages/selenium-2.42.1-py2.7.egg/selenium/webdriver/remote/errorhandler.py", line 164, in check_response

    raise exception_class(message, screen, stacktrace)

 

WebDriverException: Message: u'A new session could not be created. (Original error: Could not find Automation.tracetemplate in /Applications/Xcode 2.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate)' 

經過google後發現是xcode6及ios8的環境變量問題

解決方法:


所以只能重裝appium了


在安裝的過程中遇到以下幾個問題:

1.安裝appium,當前通過npm install appium

1)方法一:直接敲入命令

npm install -g appium

加載一段時間後彈出錯誤提示:

lautekiMacBook-Pro:appium lau$ npm install -g appium

npm http GET https://registry.npmjs.org/appium

npm http 200 https://registry.npmjs.org/appium

npm http GET https://registry.npmjs.org/appium/-/appium-1.2.4.tgz

npm http 200 https://registry.npmjs.org/appium/-/appium-1.2.4.tgz

npm ERR! Error: shasum check failed for /var/folders/gv/zd_14bvj499_46g4zmsqks8h0000gn/T/npm-12728-i69rr4LD/1413628135506-0.4923316186759621/tmp.tgz

npm ERR! Expected: 1a116c5e6cbc999f3abf7b0ec75c90ab9c2a6692

npm ERR! Actual:   088d1ded024c280ae09dc6194a0d9b342da038d9

npm ERR! From:     https://registry.npmjs.org/appium/-/appium-1.2.4.tgz

npm ERR!     at /usr/local/lib/node_modules/npm/node_modules/sha/index.js:38:8

npm ERR!     at ReadStream. (/usr/local/lib/node_modules/npm/node_modules/sha/index.js:85:7)

npm ERR!     at ReadStream.EventEmitter.emit (events.js:117:20)

npm ERR!     at _stream_readable.js:919:16

npm ERR!     at process._tickCallback (node.js:419:13)

npm ERR! If you need help, you may report this *entire* log,

npm ERR! including the npm and node versions, at:

npm ERR!    


npm ERR! System Darwin 14.0.0

npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "appium"

npm ERR! cwd /Users/lau/Documents/Code_Tools/appium

npm ERR! node -v v0.10.28

npm ERR! npm -v 1.4.9

npm ERR! 

npm ERR! Additional logging details can be found in:

npm ERR!     /Users/lau/Documents/Code_Tools/appium/npm-debug.log

 

npm ERR! not ok code 0

經過google,這個問題是因爲校驗和不對. 下的文件跟服務器上的文件校驗和不相等.  應該是傳輸過程中下載的東西受損了.. 可能是網絡原因.
所以該方法暫時不用
2)方法二:npm在下載appium時特別慢,經過google,覺得換registry可能有用;
官方默認的: https://registry.npmjs.org/appium
網上找的一個:http://registry.cnpmjs.org
敲入命令:npm --registry http://registry.cnpmjs.org install -g appium
下載過程中會出現錯誤

npm ERR! Error: EACCES, open '/Users/lau/.npm/bufferpack/0.0.6/package.tgz'

npm ERR!  { [Error: EACCES, open '/Users/lau/.npm/bufferpack/0.0.6/package.tgz']

npm ERR!   errno: 3,

npm ERR!   code: 'EACCES',

npm ERR!   path: '/Users/lau/.npm/bufferpack/0.0.6/package.tgz',

npm ERR!   parent: 'appium' }

npm ERR! 

npm ERR! Please try running this command again as root/Administrator.


npm ERR! System Darwin 14.0.0

npm ERR! command "node" "/usr/local/bin/npm" "--registry" "http://registry.cnpmjs.org" "install" "-g" "appium"

npm ERR! cwd /Users/lau/Documents/Code_Tools/appium/appium_app

npm ERR! node -v v0.10.28

npm ERR! npm -v 1.4.9

npm ERR! path /Users/lau/.npm/bufferpack/0.0.6/package.tgz

npm ERR! code EACCES

npm ERR! errno 3

npm ERR! stack Error: EACCES, open '/Users/lau/.npm/bufferpack/0.0.6/package.tgz'


在sudo下運行,
sudo npm --registry http://registry.cnpmjs.org install -g appium   【本人用這個命令安裝成功】
運行完會出現提示

error: Appium will not work if used or installed with sudo. Please rerun/install as a non-root user. If you had to install Appium using `sudo npm install -g appium`, the solution is to reinstall Node using a method (Homebrew, for example) that doesn't require sudo to install global npm packages.


權限問題,無法使用sudo來運行appium

 

嘗試如下方法:
②解決方法如下:在運行node install appium前運行以下命令
>> cd /usr/local/bin
>>   sudo chown -R root:admin /usr/local;
③然後卸載appium,卸載成功
npm uninstall appium -g
④最後再次下載,npm --registry http://registry.cnpmjs.org install -g appium
還是運行錯誤

npm http GET http://registry.cnpmjs.org/appium

npm http 304 http://registry.cnpmjs.org/appium

npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/appium/.appiumconfig.json'

npm ERR! error rolling back  [email protected] { [Error: EACCES, unlink '/usr/local/lib/node_modules/appium/.appiumconfig.json']

npm ERR! error rolling back   errno: 3,

npm ERR! error rolling back   code: 'EACCES',

npm ERR! error rolling back   path: '/usr/local/lib/node_modules/appium/.appiumconfig.json' }

npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/appium/.appiumconfig.json'

npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/appium/.appiumconfig.json']

npm ERR!   errno: 3,

npm ERR!   code: 'EACCES',

npm ERR!   path: '/usr/local/lib/node_modules/appium/.appiumconfig.json' }

npm ERR! 

npm ERR! Please try running this command again as root/Administrator.


npm ERR! System Darwin 14.0.0

npm ERR! command "node" "/usr/local/bin/npm" "--registry" "http://registry.cnpmjs.org" "install" "-g" "appium"

npm ERR! cwd /Users/lau/Documents/Code_Tools/appium

npm ERR! node -v v0.10.28

npm ERR! npm -v 1.4.9

npm ERR! path /usr/local/lib/node_modules/appium/.appiumconfig.json

npm ERR! code EACCES

npm ERR! errno 3

npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/appium/.appiumconfig.json'

npm ERR! 

npm ERR! Additional logging details can be found in:

npm ERR!     /Users/lau/Documents/Code_Tools/appium/npm-debug.log

npm ERR! not ok code 0

錯誤原因:卸載不乾淨,清除/usr/local/lib/node_modules/下appium文件夾

sudo rm -rf appium

⑤再次運行npm install -g appium
下載成功,運行appium

info: Welcome to Appium v1.2.4 (REV 71584425ecf777349e3215f0f18e71e7782acfb6)

info: Appium REST http interface listener started on 0.0.0.0:4723

info: Console LogLevel: debug


3)繼續npm install wd
npm --registry http://registry.cnpmjs.org install -g wd
安裝完後驗證appium能否運行
瀏覽器敲入http://0.0.0.0:4723/
顯示:
 That URL did not map to a valid JSONWP resource 

說明成功

4)安裝selenium組件

因爲是Python版,所以就去Selenium官網下載Python的WebDriver(selenium-2.43.0.tar.gz)

https://pypi.python.org/pypi/selenium

解壓:

#gzip -dc selenium-2.43.0.tar.gz | tar xvf -

安裝:

#cd selenium-2.43.0

#sudo python setup.py install 

安裝完成selenium
5)執行sample code
下載源代碼:git clone https://github.com/appium/appium.git,下載完執行以下命令:
① 安裝待測試的app

首先,我們需要用xcode編譯這個app

#cd appium

#cd sample-code/apps/TestApp

#xcodebuild -sdk iphonesimulator 
出現build successful表示OK
②執行測試腳本

#cd appium

#cd sample-code

#cd examples/python

#python simple.py

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章