呼……经过一番搜索、测试和玩耍,找到了一种方法。
当 Appium 发布较新的版本或测试版时,我觉得保留旧(稳定)版本并在 Appium 版本之间切换是一个优势。因为根据我的经验,较新的 Appium 版本可能会破坏一些现有的自动化测试,所以在我们单独修复它们之前,拥有较旧的版本有助于执行这些测试而不会出错。
另外,在测试测试版时,无需每次都需要安装/卸载即可切换版本。
AVM 是(相当)一个很棒的实用程序,它允许在版本之间进行这种切换,但不知何故,它在 Appium1.5.0 之后就停止了工作。
所以这里是使用 AVM 在 1.5.0 版本之后安装 Appium 并在尽可能多的 Appium 实例之间切换的步骤。
目前,Appium1.6.4 是正式版本,所以我将重点介绍该版本的步骤。
(另外,我使用的是 Mac,但认为在 Windows 上安装应该类似)。
使用 AVM 安装 Appium 的步骤:
Part A) 安装AVM --> (第一次只拿到AVM)
先决条件 --> 安装“brew”和“node”。
- 启动终端
- npm install -g appium-version-manager
- 酿造更新
注意:如果第 2 步没有执行,则执行第 3 步和第 4 步。
- (可选)sudo chown -R $(whoami):admin /usr/local
- (可选)cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
- avm --help
如果它显示命令列表,那么恭喜,avm 已安装!!!
现在由于 AVM 从 Appium1.5.0 开始就没有维护了,我们需要安装一个
B 部分)安装 Appium 1.4.16(或任何旧版本)-->(仅限一次)
- avm 1.4.16
- 在 Finder 中 --> 转到文件夹 /usr/local/bin/ --> 在编辑器中打开文件名“avm”
- 搜索方法“activate ()”并注释此行
ln -s $dir/node_modules/appium/bin/appium.js $AVM_PREFIX/bin/appium
替换为
ln -s $dir/node_modules/appium/build/lib/main.js $AVM_PREFIX/bin/appium
sample screenshot to edit 'activate ()' method
- 同样,搜索方法“execute_with_version ()”并注释此行
本地 bin=$VERSIONS_DIR/$version/node_modules/appium/bin/appium.js
替换为
本地 bin=$VERSIONS_DIR/$version/node_modules/appium/build/lib/main.js
注意 - 我将发布一个参考链接,提到对“avm”文件进行的此更改。
- brew 取消链接节点
- brew install node6-lts(节点版本 - v6.9.4)
这是我们的最后一幕!!! :)
C 部分)安装 Appium 版本 1.6.x(或任何高于 1.5.0 的版本)
- avm 1.6.x(x = appium 的次要版本。要安装 Appium 版本 1.6.4,终端类型 --> avm 1.6.4)
- cd /usr/local/avm/versions/1.6.x/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
- npm install -g ios-deploy
如果第 3 步没有安装 ios-deply,请尝试第 4 步。
- (可选)sudo npm install --global --unsafe-perm=true ios-deploy
- brew 安装迦太基
- ./Scripts/bootstrap.sh
- ./Scripts/build.sh -d
- 启动 Xcode。对于 Appium1.6.4,我使用了 Xcode8.3.1
- 在 Finder 中,导航到步骤 2 中的路径。在 Xcode 中打开 WebDriverAgent 项目。
- 签署个人资料。我选择 WebDriverAgent 项目并单击“自动管理签名”。然后为 WebDriverAgentLib 和 WebDriverAgentRunner 选择团队配置文件。
- 构建 WebDriverAgent 项目并运行。如果成功,欢迎通过 AVM 加入 Appium1.6.x。
更多关于 WDA 歌唱资料的详细信息在这里 --> https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md
注意 - 在真实设备上执行测试时,如果您收到 Error 65,则表示 WebDriverAgent 未正确签名。
一旦安装,对于任何未来版本的 Appium,只需要 C 部分,如果你有 avm,则不需要 A 部分和 B 部分
- 感谢 Appium-Version-Manager 的创建者 - abhinavsingh。 (无法发布链接,因为我还没有声誉 > 10)