MAC部署appium自动化环境

npm 安装appium

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

npm 安装appium-doctor

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

安装chromedriver

selenium用到

selenium之 chromedriver与chrome版本映射表(更新至v2.29)

chromedriver下载

brew 安装carthage

brew install carthage

brew 安装libimobiledevice

brew install libimobiledevice (真机测试需要)

brew 安装ios-deploy

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

安装ios-webkit-debug-proxy

brew reinstall -s ios-webkit-debug-proxy

元素定位方式

在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即可。

例如:

通过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 OS X对应版本

设置代理服务器

终端命令行进入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顶部菜单点击Tools -> Manage Add-on Site,选择右侧“User Defined Sites”

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

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”

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

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

 

最近以上用代理方式安装android sdk manager的方式不好用了,可以下载Android studio来安装,具体参考博文中的文章:

https://blog.csdn.net/qq_23599965/article/details/80910202

 

如果还是以打开android sdk图形化界面处理,那就去掉代理,改成添加以下内容:

首先记得修改hosts(203.208.41.68   dl.google.com), ip就拼一下dl.google.com看下哪个ip耗时最少,就用哪个

https://dl.google.com/android/repository/addon-6.xml 
https://dl.google.com/android/repository/addon.xml  
https://dl.google.com/android/repository/extras/intel/addon.xml  
https://dl.google.com/android/repository/sys-img/android-tv/sys-img.xml  
https://dl.google.com/android/repository/sys-img/android-wear/sys-img.xml  
https://dl.google.com/android/repository/sys-img/android/sys-img.xml  
https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml  
https://dl.google.com/android/repository/sys-img/x86/addon-x86.xml  
https://dl.google.com/android/repository/addons_list-2.xml  
https://dl.google.com/android/repository/repository-10.xml

 

(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

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

(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)

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

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

 

如果app-inspector启动,可能因为XCTestWD配置的问题,导致一直卡住,可以配置这个文件

进入目录/usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/lib
打开其中的logger.js文件,添加debuMode: true

'use strict';

var logger = require('xlogger');

module.exports = logger.Logger({
  closeFile: true,
  debugMode: true
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值