Appium环境准备及IOS真机测试

时间:2021-01-23 23:26:21

       本文主要内容: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