

iOS 自动化测试之 WDA & Appium
source link: https://kingcos.me/posts/2019/ios_test_automation/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

iOS 自动化测试之 WDA & Appium
2021.06.16 by kingcosPreface · 序
iOS 自动化测试从 0 到 1。
WebDriverAgent
为了能够非接触地远程控制与测试 iOS app,Facebook 基于 XCTest 框架开发了 WebDriverAgent(简称 WDA),但由于其内部正在转向使用 IDB(iOS Development Bridge),目前官方已经将该项目归档(如下图)。而 Appium 仍然基于 WDA 进行自动化测试,因此其也将 WDA 从 Facebook 手中接力并继续迭代。
因 Appium 的 WDA 开源版本目前下载后可以直接正常运行,且目前团队内仍使用 Facebook 版本,因此本文仍以后者为例。
安装 Carthage:
brew install carthage
安装依赖:
./Scripts/bootstrap.sh
打开 WebDriverAgent.xcodeproj
,选择 WebDriverAgentLib,并使用「Command + B」编译:
编译后,我们将 Scheme 改为 WebDriverAgentRunner,并使用「Command + U」执行测试(注意 ⚠️:真机运行时需要配置证书):
有时通过网络连接会受很多限制或速度较慢,我们也可以将电脑本机端口映射到 USB 连接的手机端口:
brew install usbmuxd
iproxy 8100 8100
此时通过 http://localhost:8100/status 即可测试端口是否映射成功:
{
"value" : {
"state" : "success",
"os" : {
"name" : "iOS",
"version" : "12.0.1"
},
"ios" : {
"simulatorVersion" : "12.0.1",
"ip" : "164.20.130.96"
},
"build" : {
"time" : "Sep 20 2019 20:43:27"
}
},
"sessionId" : "C1A52844-D32F-43F7-91C7-ADC6B3BF5BD4",
"status" : 0
}
Appium
Appium 可以使用 npm 来安装,而 npm 可以使用 Homebrew 来安装(如果 npm 速度过慢,可以使用 cnpm):
brew install npm
npm install appium -g
appium
启动后崩溃
尝试按照 https://github.com/appium/WebDriverAgent/pull/286/files 修改即可。
Xcode 12 编译失败问题
- 在 Xcode - File - Project Settings… 中,将 Build System 构建系统切换为 Legacy Build System;
- 修改错误的内存语义声明:
// 修改前:
@property (nonatomic, assign, readonly) HTTPConnection *connection;
// 修改后:
@property (nonatomic, strong, readonly) HTTPConnection *connection;
Reference
Recommend
-
57
2017-02-17 | Mio4kon | 自动化测试 概述 为了避免每次上线前重复的人工回归测试,保证每次上线的版本不会引起核心业务的不稳定,所以急需自动化测试来保证业务的稳定性.经过调研我尝试使用Appium进行自动化测试,原因是功能强大,跨平台而且社区
-
35
简介 日志是非常重要的,用于记录系统、软件操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统、软件的活动等重要作用,在开发或者测试软系统过程中出现了问
-
47
简介 一年一度的暑假如期而至,每年必不可少的,便是《西游记》这部经典电视连续剧的播出,作为一名90后,对于这部经典剧的情谊,就是观看已成为一种习惯。依然深刻的记得,小时候妈妈为了催促我睡觉,而关掉我的
-
40
简介 许仙小时候最喜欢吃又甜又软的汤圆了,一次一颗汤圆落入西湖,被一条小白蛇衔走了。十几年后,一位身着白衣、有青衣丫鬟相伴的美丽女子与许仙相识了,她叫白娘子。白娘子聪明又善良,两个人很快走到了一起。靠
-
40
简介 今天宏哥在这里首先给小伙伴们和童鞋们分享一个有关昙花的小典故:话说昙花原是一位花神,她每天都开花,四季都灿烂。她还爱上了每天给她浇水除草的年轻人。后来,此事给玉帝得知。于是,玉帝大发雷霆,要拆散
-
43
404 页面不存在 404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 [email protected]
-
67
简介 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志是有价值的信息宝库。 日志文件是专门用于记录系统操作事件的记录文件或文件集合,操作系统有操
-
50
在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏。从而达到一种“有图有真相”的效果。
-
20
1移动自动化简介 移动自动化就是通过代码来控制手机,模拟人的动作,对手机进行一些点击,输入等操作,那 python 代码如何能控制到手机呢?目前的思路应该是 python 代码
-
30
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html Appium需要用到的工具...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK