标签:
———————————————————————
1、安装Appium Mac上环境搭建
———————————————————————
参考:
http://blog.csdn.net/yuan1809/article/details/19122813
https://github.com/appium/appium
http://download.csdn.net/detail/ouyangtianhan/8671819
对环境的需求:
https://github.com/appium/appium的说法:
npm 0.8 or greater |
好了,环境基本上弄好了,下一步
1、安装node.js 2、安装appium $ npm install -g appium@0.12.3 注意appium的版本和os的兼容。 3、启动appium $appium & 真机上测试,启动时指定设备的UUID $appium -U xxxxxxxxxxxxxxxxxxxxxxxxxx appium启动服务的参数详细: https://github.com/appium/appium/blob/master/docs/server-args.md 4、真机上运行,被测app必须是Developer版本。 |
再看看官方网页的说法:
npm install -g appium npm install wd appium & node your-appium-test.js |
具体步骤:
1)、安装brew,去homebrew官网。大致是这个步骤,顺利安装上了:
$ cd bin $ ./brew -v Homebrew 0.9.5 $ file brew brew: POSIX shell script text executable cd vi .bash_profile export PATH=/usr/local/homebrew/bin:$PATH |
关闭后重新打开terminal,使.bash_profile被执行,使得PATH环境变量生效,当然你也可以source ./.bash_profile
在这个安装的过程中,唯一需要注意的是权限,我的作法是在所有步骤之前直接把/usr/local目录都改为了admin所有,就不用每次安装都用sudo来搞了
sudo chown -Rf 用户名:staff /usr/local
2)、这下安装node.js就简单了,一行命令:brew install node
然后就是看看node安装的对不对,先vi hello_world.js,输入以下内容(假定你会用vi,vim一类的编辑器)
var sys = require(‘sys‘),
http = require(‘http‘);
http.createServer(function(req, res) { setTimeout(function() { res.writeHead(200, {‘Content-Type‘: ‘text/plain‘}); res.write(‘Hello World‘); res.end();//截至最新版 res.close();以替换为 res.end(); }, 2000);
}).listen(8000); |
执行命令:
node hello_world.js
在浏览器中输入:localhost:8000,返回了Hello World字样就是成功了。
3)、最后检查一下:
$node -v
0.10.15
$npm -v
1.4.6
好了,全齐了。这下该正事了:
npm install -g appium npm install wd |
运行node appium-doctor来检查一下appium是不是都彻底ok了:
admins-Mac:bin admin$ pwd /usr/local/bin admins-Mac:bin admin$ ls -l total 39064 lrwxr-xr-x 1 admin staff 40 Apr 14 16:33 appium -> ../lib/node_modules/appium/bin/appium.js lrwxr-xr-x 1 admin staff 47 Apr 14 16:33 appium-doctor -> ../lib/node_modules/appium/bin/appium-doctor.js lrwxr-xr-x 1 admin staff 47 Apr 14 16:33 authorize_ios -> ../lib/node_modules/appium/bin/authorize-ios.js -rwxrwxr-x 1 admin staff 813 Apr 14 08:53 brew -rwxr-xr-x 1 admin staff 19975968 Jul 26 2013 node lrwxr-xr-x 1 admin staff 38 Jul 31 2013 npm -> ../lib/node_modules/npm/bin/npm-cli.js lrwxr-xr-x 1 admin staff 33 Jul 31 2013 weinre -> ../lib/node_modules/weinre/weinre |
因为这台mac上没有android环境,所以报错,我也没打算在这台mac上测试android程序,所以不用搭理。Appium已经OK了。
启动appium & (&的意思是后台执行,不占用窗口):
admins-Mac:appium admin$ appium & [1] 1886 admins-Mac:appium admin$ info: Welcome to Appium v0.18.1 (REV d242ebcfd92046a974347ccc3a28f0e898595198) info: Appium REST http interface listener started on 0.0.0.0:4723 info: socket.io started info: Non-default server args: {"merciful":true} |
检查进程,顺带删除掉这个后台进程:
admins-Mac:appium admin$ ps -ef|grep appium 501 1886 1274 0 4:47PM ttys000 0:00.73 node /usr/local/bin/appium 501 1892 1274 0 4:48PM ttys000 0:00.00 grep appium admins-Mac:appium admin$ kill 1886 |
4、安装WebDriver
二,Selenium WebDriver 因为是Python版,所以就去Selenium官网下载Python的WebDriver(selenium-2.39.0.tar.gz) https://pypi.python.org/pypi/selenium 解压: #gzip -dc selenium-2.39.0.tar.gz | tar xvf - 安装: #cd selenium-2.39.0 #sudo python setup.py install //sudo依旧是解决Permission的问题 ----------- 这样,WebDriver就安装成功了 |
我照着操作了一遍,版本不同了而已,很顺利:
selenium-2.41.0.tar.gz
Installed /Library/Python/2.7/site-packages/selenium-2.41.0-py2.7.egg Processing dependencies for selenium==2.41.0 Finished processing dependencies for selenium==2.41.0
admins-Mac:selenium-2.41.0 admin$ which python /usr/bin/python admins-Mac:selenium-2.41.0 admin$ python -V Python 2.7.2 |
———————————————————————
2、测试
———————————————————————
----------模拟器------------
编译例子:点击打开链接
三,要测试的app 测试的是appium提供的TestApp 首先,我们需要用xcode编译这个app #cd appium #cd sample-code/apps/TestApp #xcodebuild -sdk iphonesimulator //为了防止iphonesimulator和设置的冲突,没有注明iphonesimulator的版本 ----------- 如果看到** BUILD SUCCEEDED **,这个TestApp就build成功了。 |
操作的时候,留心先进入到项目目录下:
admins-Mac:testDemo admin$ cd test admins-Mac:test admin$ ls -l total 0 drwxr-xr-x 14 admin staff 476 Apr 22 2013 test drwxr-xr-x@ 5 admin staff 170 Apr 22 2013 test.xcodeproj
admins-Mac:test admin$ xcodebuild -sdk iphonesimulator Build settings from command line: SDKROOT = iphonesimulator7.0 === BUILD TARGET test OF PROJECT test WITH THE DEFAULT CONFIGURATION (Release) ===
….. |
我后来运行的时候老是不能指定某个模拟器加载,而老是加载ios7.0,估计就是这个环节的相关配置引起的,以后有空再研究吧。不过也有群友说文档上说会自动启动最高版本的模拟器,这是不可以修改的。算了,反正以后多半使用真机做。
看到:** BUILD SUCCEEDED ** 就是编译成功了,在当前目录下就会生成一个build目录,顺带找找app文件在哪里。
admins-Mac:test admin$ pwd /Users/admin/Documents/demo/testDemo/test admins-Mac:test admin$ ls -l total 0 drwxr-xr-x@ 4 admin staff 136 Apr 15 16:02 build drwxr-xr-x 14 admin staff 476 Apr 22 2013 test drwxr-xr-x@ 5 admin staff 170 Apr 22 2013 test.xcodeproj admins-Mac:test admin$ find build|grep test.app$ build/Release-iphonesimulator/test.app |
好了,这下可以写测试的python脚本了,我就在这个目录下建立了一个test1.py。因为代码中需要指明app位置,所以留心自己的脚本所在位置和app文件的相对位置。
---------- 真机------------
1、确保真机连接电脑。
2、Terminal开启appium:
appium -U xxxxxxxxxxxxxxxxxx --app com.xxx.xxxx
3、开启新的Terminal,cd进入测试脚本文件夹,运行测试脚本:python ios_simple.py
———————————————————————
3、必看问题一览
———————————————————————
1、针对appium1.3.7真机调用IOS设备的坑:
error:
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Could not initialize ideviceinstaller; make sure it is installed and works on your system) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.45 seconds
修改方法:
说明appium路径下调取设备时出现问题,需要替换node_modules文件夹下的node-idevice文件。应该是appium1.3.7下的bug,我替换的是appium1.3.3版本的/usr/local/lib/node_modules/appium/node_modules/node-idevice文件。appium1.3.4本版也不支持(更新到1.3.4版本尝试过)。
下载appium1.3.3node-idevice链接:
http://download.csdn.net/detail/ouyangtianhan/8671793
再次在dos中运行appium &就可以调取真机了,呵呵,成功。。。。。
注意事项:
针对ios8及以上系统执行自动化时,需要打开手机设备:Settings > Developer
node-idevice-1.3.3 下载地址:点击打开链接
test-sample-code 点击打开链接
Appium APP版本教程:http://www.blogjava.net/qileilove/archive/2014/05/08/413429.html
标签:
原文地址:http://blog.csdn.net/ouyangtianhan/article/details/45559605