本文主要内容:Appium-Server、Appium-Desktop的具体搭建及使用步骤。以及IOS真机测试需要特别注意的方面。
Appium-Server
1、使用node.js编写
2、命令行版本通过npm安装
3、官网提供GUI版本appium-desktop使用,内含appium server,最新版本1.2.1。
4、网上许多教程使用的appium.dmg、appium for window.exe是旧版的
Appium-Desktop
1、内含Appium Server,省去安装它所需要的依赖。
2、对于Android Emulator\Phone、IOS Simulator来说,安装这个GUI就可以跑代码了。
3、对于IOS Phone真机测试还需要安装配置一些工具
Appium-Desktop使用步骤:
1、启动Appium-Desktop,点击Start Server v1.6.5,进入命令行界面
2、点击右上角的Start Inspector Session进入Inspector界面
3、根据自己的手机编辑Desired Capabilities。
4、点击Start Session连接手机,启动App并获取首个界面
5、这里的Recorder方便录制简单的操作代码,便于入门学习
6、最常用的是这里可以获取界面元素的id,accessibilityId等用于编写测试代码
IOS真机测试:
1、替换npm为国内淘宝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
2、安装appium-doctor
cnpm install -g appium-doctor
3、命令行执行appium-doctor,根据错误项安装相应工具并处理
4、安装command line tools
xcode-select --install
5、安装Carthage(IOS依赖管理工具,类似gradle,maven)
brew install carthage(好久)
6、其他IOS支持库
brew install libimobiledevice --HEAD
cnpm install -g ios-deploy
7、如果WebDriverAgent编译一直不通过,可尝试到github替换为最新的
https://github.com/facebook/WebDriverAgent.git
本地地址:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
备注:
WebDriverAgent在IOS设备上实现了一个WebDriver Server,借助它可以远程控制IOS设备。允许你启动销毁应用,点击滚动视图,或确定视图是否正确展示在屏幕上。
编译运行后,会在社别上安装一个WebDriverAgentRunner的app,以后Appium每次建立Session都会先启动这个app。这一步问题多多,可以寻求testerhome.com社区帮助。
执行appium-doctor:
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor Node version is 8.2.1
info AppiumDoctor Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor Xcode Command Line Tools are installed.
info AppiumDoctor DevToolsSecurity is enabled.
info AppiumDoctor The Authorization DB is set up properly.
info AppiumDoctor Carthage was found at: /usr/local/Cellar/carthage/0.24.0/bin/carthage
info AppiumDoctor HOME is set to: /Users/weijiancheng
info AppiumDoctor ANDROID_HOME is set to: /Users/weijiancheng/Library/Android/sdk
info AppiumDoctor JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
info AppiumDoctor adb exists at: /Users/weijiancheng/Library/Android/sdk/platform-tools/adb
info AppiumDoctor android exists at: /Users/weijiancheng/Library/Android/sdk/tools/android
info AppiumDoctor emulator exists at: /Users/weijiancheng/Library/Android/sdk/tools/emulator
info AppiumDoctor Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor
环境变量.bash_profile文件实例:
添加了JAVA_HOME\ANDROID_HOME\CARTHAGE_HOME\MAVEN_HOME及其bin目录:
------------------------------------------------------------------------------------
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
export ANDROID_HOME=/Users/weijiancheng/Library/Android/sdk
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export PATH=$PATH:/usr/local/bin
export CARTHAGE_HOME=/usr/local/Cellar/carthage/0.24.0
export PATH=$PATH:$CARTHAGE_HOME/bin
export MAVEN_HOME=/Users/weijiancheng/Library/Maven
export PATH=$PATH:$MAVEN_HOME/bin
------------------------------------------------------------------------------------
总结
刚开始学习appium的时候,Appium-Desktop刚刚推出。网上的教程及社区大都是Appium.exe\Appium.dmg等旧版客户端的介绍。无一例外的配置麻烦,需要安装的工具太多了。而我始终坚信的一点是一套成熟的开发工具不应该让开发者把时间耗在搭建以及配置上。
官网上默认使用的是Appium-Desktop-x.x.x.dmg。仅仅安装完这个GUI后,我发现在Android Phone\Emulator,IOS Simulator上都可以正常跑测试用例了。只有IOS Phone真机一直各种提示失败,于是我认为一定是自己配置的问题。不过,类似的问题在网上居然找不着。后来实在没办法,只能按照旧版的教程,把需要的工具统统安装一遍才解决。
我是做Android开发的,对于IOS开发了解不深。不知道在IOS设备上安装ipa远比Android上安装apk麻烦得多,以及在IOS模拟器上是不能安装ipa的。是因为IOS不能像Android同时兼容两个CPU架构吗?
综上你需要安装的是:Appium-Desktop GUI以及IOS真机部署的一系列工具。所以除开IOS真机部署的麻烦,Appium环境部署还是相当简洁的。
本文出自 “一剑围城” 博客,请务必保留此出处http://weijiancheng.blog.51cto.com/10190955/1968731