Mac安装Appium,自动化iOS APP

想要试试自动化 iOS APP,通过搜索找到了 Appium,之前来来回回装了好几次都没能成功,这次终于可以了。

安装环境和连接效果图

环境:XCode 11, Appium Desktop v1.15.0,免费开发者账号

Mac安装Appium,自动化iOS APP_第1张图片


安装步骤

1.安装各种依赖

需要安装 Xcode Command Line Tools, Homebrew, jdk, android-jdk, npm, Appium

具体过程可以参考 TesterHome 上的 macOS 下使用 npm 安装 Appium (详)

我看过好几个安装教程,我觉得这个是比较清楚可以一步一步做下来的。


2.安装 Appium Desktop

命令行 Appium 没有 Inspector,但是感觉研究页面结构还是需要的,所以建议大家用 Appium 的桌面版。

可以从 Github 下载安装。

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


3.brew 安装 Carthage

brew install carthage

https://github.com/Carthage/Carthage


4.准备 WebDriverAgent

cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
./Scripts/bootstrap.sh
./Scripts/bootstrap.sh -d

如果 Appium Desktop 的版本不是 v1.15.0,文件夹结构会不一样,记得升级到 v1.15.0。

-d会安装一些依赖,不然在运行 WebDriverAgent 的时候会报错。

有一些教程会说从 GitHub 下载 Facebook 版 WebdriverAgent, 签名后复制到 Appium 的对应文件夹里。我试过发现 Facebook 版因为不再维护有些功能是没有的,现在直接用 Appium 项目里的 WebDriverAgent 就可以了。


5.给 Runner 签名

免费的开发账户就可以了。

打开/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj

我是把所有 Target 都签了一遍,不知道是不是必须的。

有的因为 Bundle Indentifier 重复会无法成功签名,只要在后面加上字符串使整个 Identifier 唯一就可以了。
如果直接改不了可以在 Build Settings 里面修改。

签完后选择 WebDriverAgentRunner 作为 Target, Device 选择用数据线连接着的 iOS 真机。

从菜单栏选择 Product -> Test。

Xcode 将编译项目,在真机上安装。

第一次可能会因为开发者不被信任而运行失败。在手机设置中找到 General -> Device Management 信任签名所使用的开发者账号就好了。

因为如果某个开发者账号签名的所有 App 都被删除的话下次再安装又要重新信任,所以我随便找了一个现成的程序签名安装在手机上不去删它,之后就不用来来回回地设置信任这个开发者账号了。

Mac安装Appium,自动化iOS APP_第2张图片

每个开发者账号会有一个有数字和字母组成的 OrgId,就是上面括号内红色的部分。记下来之后在 Appium Desktop 中要用到。


6.配置 Appium Desktop

将手机和电脑用数据线连接。

打开 Appium Desktop 选择 Start Server v1.15.0。

点击上方放大镜按钮 Start Inspector Session。

选择 Automatic Server。

Desired Capabilities 我是这么写的。

Mac安装Appium,自动化iOS APP_第3张图片

其中 xCodeOrgId 是上一步记下来的,如果是付费开发者账号应该可以在账号网页中找到这个信息。

# 获取udid,bundleId等信息
ideviceinstaller -l -o list_user
idevice_id -l
ideviceinfo -k ProductType
ideviceinfo -k ProductVersion
ideviceinfo -k DeviceName

设置好了以后点击 Start Session 就可以了。等一会儿后 Inspector就会打开。

之后再用 python 的 facebook-wda 库进行自动化就可以了。


刚开始写自己的博客
https://oliwang.github.io/blog.html

我的公众号「伪装程序大佬」
Mac安装Appium,自动化iOS APP_第4张图片

你可能感兴趣的:(appium,测试环境搭建,testing)