appium 环境搭建 for mac 成功案例

前言: PC、Android的UI自动化玩的比较多,但是IOS的玩得少,第一次使用MAC机,搭建IOS环境,特记录一下:

MAC: 10.14.4  +  XCode: 10.1 +  appium: 1.13.0 + 模拟器 iphone 8(IOS12.1)【最终版本关系】

 appium-desktop: 1.13.0 (后补装的,目的是用Inspector)

 

准备工作: 

安装npm,cnpm(指定cnpm安装源为淘宝)

npm install -g cnpm --registry=https://registry.npm.taobao.org


1,brew  安装

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Brew update

2,安装 node
Brew install node 

3,  下载 Xcode  和 CommandLineTools

https://developer.apple.com/download/more/

Xcode下载的是 10.1版本【下过多个版本,9.3,9.4,10.2,只有10.1能成功启动app】

选择版本:

sudo Xcode-select -s /Users/01371243/Downloads/Xcode_10.1.app 

(我有多个目录Xcode_9.3.app, Xcode_9.4.app,Xcode_10.1.app ,Xcode.app目录缺省是10.2,最先安装的】

 xcode-select  --print-path  (打印当前使用的xcode目录)

4, 安装jdk8

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

5, 安装sdk manager

http://down.tech.sina.com.cn/page/45703.html

6,安装appium   建议用cnpm代替npm
cnpm install -g appium
cnpm install -g nappium-doctor

我安装路径:/usr/local/lib/node_modules/appium

cnpm install wd

7、配置Android环境变量
在 ~/.bash_profile文件中添加path

export ANDROID_HOME=~/Library/Android/sdk/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home #jdk安装路径   
export PATH=~/bin:$PATH:/usr/local/bin:$ANDROID_HOME/platform-tools/:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

8、安装其他依赖
brew install libimobiledevice --HEAD
npm install -g ios-deploy
brew install carthage
 

9  配置 WebDriverAgent

(1)首先进入WebDriverAgent所在文件目录下:

首先替换WebDriverAgent,从github下载最新的替换appium的如下目录

git clone https://github.com/facebook/WebDriverAgent.git
替换:/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
(2)目录/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent下执行:
./Scripts/bootstrap.sh

10 运行WebDriverAgent

1)xcode 打开/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/  WebDriverAgent.xcodeproj 工程文件

2) 添加自己的AppleID: account:Xcode -> Preferences -> account -> 左下角 +     没有的新注册一个

appium 环境搭建 for mac 成功案例_第1张图片

3)更改bundle id:这里的bundle id就相当于一个App的唯一识别号,更改的规则随意,只要确认不会与有重复即可;所有的targets都需要修改。

例如我自己改为:WebDriverAgentLib: com.awen.WebDriverAgentRunner, 

WebDriverAgentRunner:com.awen.WebDriverAgentRunner, 

UnitTests:com.awen.wda.unitTests

IntegrationTests_1: com.awen.wda.integrationTests  (IntegrationTests_2,IntegrationTests_3 一致)

IntegrationApp:com.awen.wda.integrationApp

appium 环境搭建 for mac 成功案例_第2张图片

4) 所有target 都填上签名 自己的账号

appium 环境搭建 for mac 成功案例_第3张图片

5)deployment info   

  deployment target 设置的是11.3(不要高于12.1) ,device : iPhone

我的一页例子:

appium 环境搭建 for mac 成功案例_第4张图片

11  验证环境

(1)终端输入:appium-doctor

(2)运行WebDriverAgentRunner

1:选择scheme为WebDriverAgentRunner -> 2:选择运行设备,模拟器和真机都可以 -> 3:选择要构建的方式 ->4:选择Test方式的步骤验证是否能成功运行WebDriverAgentRunn   (我选择的是iphone 8  IOS:12.1 ,WebDriverAgent 会安装到虚拟机

appium 环境搭建 for mac 成功案例_第5张图片

日志打印包含了:

appium 环境搭建 for mac 成功案例_第6张图片

(3)app 启动调试

因为用的是模拟器,需要开发吧app打包成 xxx.app,模拟器的IOS版本12.1,拖入模拟器就可以安装。

配置好Capabilities, bundleId为app的,可以问开发人员。udid为模拟器的id【下图为appium-desktop的显示】。 

appium 环境搭建 for mac 成功案例_第7张图片

ok,用Insepctor 获取元素位置,剩下的工作就是将android工程兼容IOS了。

备注:

1,一定要验证启动连接app, 因为我开始用xcode12.2时,app会不断重启。经过血肉之躯替换Xcode9.3, 9.4, 10.1, 才终于发现10.1 既能让WebDriverAgent编译通过,又能成功拉起app。

2, 最终appium, appium-desktop都能用,都属于appium 服务端, desktop 它是几个Appium相关工具的组合, 包含appium了。 可以在界面上启动session,也可以通过代码启动session:。启动其中一个就好,appium-desktop定位元素比较好用,后续推荐使用它。

https://github.com/appium/appium-desktop/releases

 

主要参考:

https://www.jianshu.com/p/63792fd06729

你可能感兴趣的:(app自动化测试)