您的位置:首页 > 移动开发

Mac os x yosemite安装appium 1.2.4及运行sample成功遇到的问题

2016-03-15 16:46 513 查看

原先使用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 appium@1.2.4 { [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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: