ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

干货|iOS自动化测试之基于模拟器的自动化测试

2021-11-17 15:32:28  阅读:161  来源: 互联网

标签:Appium app iOS appium 测试 自动化 WebDriverAgent


本文节选自霍格沃兹测试学院内部教材

本章节主要讲解 WebDriverAgent 环境搭建以及如何通过 iOS模拟器完成自动化。

WebDriverAgent简介

WebDriverAgent 是在 iOS 客户端启动了 WebDriver 的 Server,借助这个 server,可以远程控制 iOS
设备进行自动化测试。

Appium 早期支持 UIAutomation,但在 Xcode8 移除 UIAutomation 后,项目增加支持 WebDriverAgent 。所以
Appium 对 iOS 的测试主要依赖于 facebook 的 WebDriverAgent(现 WebDriverAgent 已转由 Appium
维护)。

参考链接:

https://github.com/appium/WebDriverAgent

安装WebDriverAgent

Appium 包含 WebDriverAgent 环境,所以仅安装 Appium 环境即可

初始化项目

在 WebDriverAgent 目录下执行:./Scripts/bootstrap.sh,一般 Appium 自带的 WebDriverAgent
目录为:

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium- webdriveragent

WebDriverAgent

选择 WebDriverAgentRunner 和对应的设备,设置对应的 Team、certificate,然后点击“运行”即可。

build 成功后,在菜单栏 product -> Test 即可

** 注意: 需在手机上信任 WebDriverAgent **

Appium的Capability设置

在模拟器下,需要设置以下参数;如果是测试手机浏览器,可以使用 browserName 代替 app,并把值设置为 Safari 。

Capability name value describe
automationName XCUITest 使用引擎的名字
platformName iOS 操作系统
deviceName iPhone 11 Pro 设备名
platformVersion 11.3 系统版本
app xx/demo.ipa apk、.ipa等的加载路径

根据以上表格内的参数设置对应的 Capability

通过如下命令获取本机可用的 deviceName

instruments -s devices

启动 Session 后,看到如下界面就表示成功了。

接着就可以直接启动 inspector 做测试了。

常见问题

Unable to launch WebDriverAgent because of xcodebuild failure: "ENOENT: no
such file or directory, open
'/Applications/Appium.app/Contents/Resources/app/node_modules/appium-
xcuitest-driver/WebDriverAgent/PrivateHeaders/XCTest/XCUICoordinate.h'

  • 原因:WDA 的依赖不对

  • 解决方法:进入 appium 的目录执行npm install语句,然后再重新启动,例如:

cd /Applications/Appium.app/Contents/Resources/appnpm install

从今天开始,我们将会给大家分享iOS自动化内容,如果有想了解的知识点可以在下方留言哦~

** 推荐学习**

内容全面升级,4 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,
带你一站式掌握测试开发必备核心技能( 对标阿里P6+,年薪50W+ )! 直推 BAT 名企测试经理,普遍涨薪 50%+!

⬇️ 点击“阅读原文”,提升测试核心竞争力!

阅读原文

标签:Appium,app,iOS,appium,测试,自动化,WebDriverAgent
来源: https://www.cnblogs.com/hogwarts/p/15567489.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有