MAC部署appium自动化环境

npm 安装appium

详情和linux环境部署一致, 这里不细讲

npm 安装appium-doctor

详情和linux环境部署一致, 这里不细讲

brew 安装carthage

brew install carthage

brew 安装libimobiledevice

brew install libimobiledevice (真机测试需要)

brew 安装ios-deploy

brew install ios-deploy (真机测试需要)

元素定位方式

在ios 的UI自动化方面,苹果对于不同的系统版本采用了不同的方式。在ios10版本以下是使用uiautomation的,对于iOS10.X的版本来说,苹果公司在测试框架上有了很大的改变。苹果公司放弃了原来的uiautomator那一套东西,改用xcuitest来进行自动化测试。这个重大的改变,导致了基于uiautomator体系的appium测试框架做出了调整。为了适应xcuitest测试框架,appium引进了facebook开发WebDriverAgent(简称wda)

通过XCUITest定位元素

xcode打开/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj,配置证书,安装WebDriverAgentRunner-Runner.app

然后代码配置DesiredCapabilities参数初始化启动app即可。

例如:

MAC部署appium自动化环境

通过macaca的App inspector来定位元素

macaca是阿里移动端自动测试框架,同时支持android, ios。

Macaca针对安卓平台的驱动集合

  • macaca-android 安卓驱动
  • macaca-adb 封装了安卓的adb命令,来实现一些adb的操作,比如安装、卸载、启动app、获取设备列表这些操作
  • android-unicode 经过封装后的输入法,解决中文输入的问题
  • uiautomator-client 将来自server的操作指令转换为UIAutomator可以识别的指令,驱动uiautomator完成对应的操作
  • android-performance 用于自动化测试安卓性能相关的支持

Macaca针对iOS平台的驱动集合

  • macaca-ios iOS驱动
  • xctest-client 同安卓的uiautomator-client异曲同工,对XCUITest的封装,将来自server的操作指令转换为XCUITest可以识别的指令,驱动XCUITest完成对应的操作
  • ios-simulator 用于对ios模拟器的支持,可以通过模拟器运行用例
  • remote-debug 用于远程调试

(1)android SDK安装及配置

下载sdk

推荐下载地址1:https://www.androiddevtools.cn

推荐下载地址2:http://tools.android-studio.org/index.php/sdk

导航栏中点击“Android SDK工具”,选择“SDK Tools”

MAC部署appium自动化环境

选择Mac OS X对应版本

MAC部署appium自动化环境

设置代理服务器

终端命令行进入Tools目录,然后输入 ./android sdk ,调出SDK Manager的图形界面

Mac顶部菜单点击Android SDK Manager -> Preferences

HTTP Proxy Server填写:mirrors.neusoft.edu.cn

HTTP Proxy Port填写:80

勾选Force https:// ,然后点击“Close”

MAC部署appium自动化环境

Mac顶部菜单点击Tools -> Manage Add-on Site,选择右侧“User Defined Sites”

MAC部署appium自动化环境

点击“New”,手动添加下面10个网址

MAC部署appium自动化环境

http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml 
http://mirrors.neusoft.edu.cn/android/repository/addon.xml  
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml  
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml  
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml  
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml  
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml  
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml  
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml  
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml

添加完成后,如下图,点击“Close”

开始下载

选择Extras,勾选☑️,全部选上,点击右下角“Install 23 Packages”

MAC部署appium自动化环境

进入如下界面,先选择左侧文件,再点击右侧“Accept License”

左侧三个需要分别勾选同意协议,同意后左侧会出现绿色“√”,最后点击“Install”,开始下载

MAC部署appium自动化环境

(2)安装macaca-li核心框架

npm install macaca-cli -g 

(3)安装macaca-android或ios驱动

npm install macaca-ios -g (用于iOS平台自动化)

npm install macaca-android -g (用于Android平台自动化)

(安卓的要注意下android sdk中build tools的版本和gradle的版本,不匹配就会安装失败)

目前macaca-android 这个包就没有安装成功,还需要后续处理下。

(4)安装chrome驱动

npm i macaca-chrome -g

(5)安装electron 驱动

npm i macaca-electron -g

(6)检查macaca环境

macaca doctor

只要打印出的结果都绿色的日志信息,就表示环境是好的

MAC部署appium自动化环境

(7)安装app-inspector元素查找器

npm install app-inspector -g

然后xcode打开

/usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD/XCTestWD.xcodeproj,修改XCTestWD和XCTestWDUITests,修改bundle id,签名然后编译通过即可。(参考webdriveragent的更改方法,操作一致)

(8)启动app-inspector的命令

app-inspector -u YOUR-DEVICE-ID(设备id)

MAC部署appium自动化环境

启动成功后,在浏览器打开http://192.168.88.233:5678,即可定位元素

MAC部署appium自动化环境

这时可以在手机设备看到自动安装了XCTestWDUITest-Runner.app

MAC部署appium自动化环境