首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS UI 自动化测试原理以及在 Trip.com 的应用实践

前言 笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。...iOS 自动化测试工具链 编写了基本的 UI 测试的 UITest Target 方法之后,我们可以利用相关命令行工具链,将 iOS UI 自动化测试脚本化,从而可以方便集成入 CI 流程。...基于 Web Service 的架构设计 App 自动化测试平台的架构设计 从前文中我们了解到,我们可以利用 Xcode 创建 UITest Target,编写 UITest Case 测试脚本,辅以...Macaca 基于 XCUITest 和 Accessibility 设计的 iOS UI 自动化测试技术 驱动项目利用 Swift 编写,社区生态相对不完善,维护较活跃,用户量相对较少。.../chapters/09-ui_testing.html#//apple_ref/doc/uid/TP40014132-CH13-SW1 WWDC2015 UI Testing in Xcode https

2.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

解放你的双手—iOS自动测试基础

2 iOS测试工具简介 测试工具通常已经为我们做好了那些烦锁的准备工作,可能很快速得上手到真正对测试有意义的工作中。iOS上有哪些已有的工具可以供我们选择呢?我们先来认识一下: ?...2.1 UITest UITestXCode上自带的UI自动化测试框架,是苹果官方大力推荐的新兴测试框架,后续也是会持续得跟进和优化,有苹果作为强大的后盾,这个框架想必也差不到哪里去,来认识一下他吧:...3 UITest UI Test集成很简,首先创建工程时,就默认是选择了包含UI测试。如果是已有的项目,直接新建一个iOS UI Testing的target即可。...4.1 脚本录制 (1)将iPhone连接MAC电脑; (2)打开Xcode5中的Instruments:Xcode --> Open DeveloperTool-Instruments; (3)在Instruments...(2)记录每一次启动测试后的测试路径,当程序出现crash后,重新拉起进行测试时,优先执行上次出现crash时记录的测试路径,当不出现crash时,再执行随机的测试。

2.5K50

利用Xcode Server实现bot持续集成

前言 之前小编在基于XCTest的iOS自动化测试介绍了如何利用Xcode工具编写UITest和UnitTest自动化测试用例,这次将为大家介绍编写好的测试用例如何利用Xcode Server...什么是Xcode Server持续集成?为了有助于大家理解它的工作原理,先来看一张官网的图: ?...实现Xcode server持续集成很简单,只需要下面几个步骤: 1.启用 Xcode Server 1)启动Xcode,点击 Xcode 菜单: Xcode->XcodeServer。...共享Schemes 开发程序时,当你创建了一个新的iOS或OS X项目,Xcode就创建一个包含执行以下操作的默认的scheme:分析,执行静态代码分析;测试,执行您实现的测试用例;归档,构建scheme...4) 对于iOS应用,选择bot使用哪种设备或模拟器执行测试(指定的所有设备必须连接到服务器上才能完成测试操作),点击next; ?

4.3K30

iOS13 即将到来,iOS 推送 DeviceToken 适配方案详解

关于提前适配iOS13 苹果推送DeviceToken的通知 随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用。...iOS13的一个重要变化是"[deviceToken description]" 会受不同运行环境及系统的影响而发生变化,如果未及时做好适配工作,会导致SDK绑定到错误的DeviceToken,从而影响...在Xcode11iOS13运行时"[deviceToken description]",情况如下图所示: ?...在Xcode11iOS12或Xcode10及以下版本运行时"[deviceToken description]",情况如下图所示: ?...适配方案(推荐):因老版个推推送SDK未适配Xcode11iOS13变化,可以选择升级个推SDK版本至 “2.4.1.0”(docs.getui.com/getui/mobil…)。

1.4K40

App Store 已上架项目打开瞬闪问题

问题背景 用户反馈 iPhone11 iOS14.7 下载安装 App 后,点击图标,App 闪一下就回到了桌面。...收到问题反馈之后,使用手上测试机测试,iPhone11 iOS15.5 和 iPhone12 iOS15.0 均没有复现问题。...iPhoneX iOS16.0 没有问题。 2. 问题分析 问题分析使用的是 iPhone11 iOS13.6 和 iPhone7 iOS13.6 两部手机。...App 安装版本限制是 iOS13 及以上版本。 怀疑一: 是项目中引入的音频动态库版本太老兼容导致。 检查之后发现虽然和最新版本差了2个小版本,并且文档中没有更新提示相关兼容性问题。...怀疑二: 系统 Api 在 iOS15.0 以下版本不兼容 。 如果是系统 Api 兼容,不管是直接在 App store 下载安装,还是直接编译到手机,都会有问题。

86510

appium 实现简易IOS app自动化测试demo

/KnowingLife.app", "automationName": "XCUITest", "udid": "6A367568-AE13-49A0-BEE2-3B1AD623AB3E", "...deviceName": "iPhone 11 Pro Max"} app通过xcode来获取,用instruments -s devices 可以获取deviceName 和 udid 以及platformVersion...打开pycharm 我们创建一个项目,然后新建一个py文件,安装依赖Appium-python-client 即可,然后我们用inspector获取定位信息, 然后我们去记录我们要定位的元素的属性。...我一般的记录是 1.手机归属地 id—>手机归属地 这样去记录,完毕后呢,我们就开始编写一个简易的代码,如下 from appium import webdriverfrom time import.../KnowingLife.app", "automationName": "XCUITest", "udid": "6A367568-AE13-49A0-BEE2-3B1AD623AB3E"

1.4K40

iOS之深入解析Xcode 13正式版发布的40个新特性

一、前言 Xcode 13 包括适用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 的 SDK。...Xcode 13 Release Candidate 支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。...Xcode 13 需要运行 macOS 11.3 或更高版本的 Mac。...中的 Metal Debugger 以及全新的 Condition Inducer 中提供了新的一致 GPU 性能状态分析工作流; 现在可以在 Metal System Trace 模板的记录选项中覆盖...; 从 Swift 类、协议或方法声明跳转到定义还可以轻松导航到整个工作区中的所有子类、扩展和符合协议的类型; Xcode 13 包括重新设计的 Swift 代码完成功能,可最大限度地提高可靠性和性能,

8.7K40

IOSIOS开发问题解决方法索引(一)

IOS开发问题解决方法索引(一) 1 Xcode工程调试时无法命中断点的问题 若没有勾选LLVM Compiler 1.6 –> CodeGeneration –> Generate...2 Xcode调试时查看变量的几种方法 Xcode如何查看内存中的数据 http://blog.csdn.net/evgd2288/article/details/8995779 Xcode...Xcode 4.1~4.6 + iOS 5、iOS6免证书(iDP)开发+真机调试+生成IPA全攻略 http://kqwd.blog.163.com/blog/static/4122344820117191351263...由于s 指向的 NSString 对象被标记为 autorelease, 则在 NSAutoreleasePool 中已有记录。...但是由于我们在前面错误的释放了该对象,则当 [pool drain] 的时候,NSAutoreleasePool 又一次的对它记录的 s 对象调用了 release 方法,但这个时候s 已经被释放不复存在

85040

iPadOS上启动黑屏翻车问题分析(一)

iOS的每次大版本更新都会是iOSer的苦难之旅,这次的iPadOS估计肯定也例外当然了这次估计是针对iPadOS的苦难而已吧。...在iOS13以下的iOS中iPhone和iPad用的是同一套OS而到了iOS13之后iPad单独摘出来另起炉灶称为iPadOS好了我们先上个坑---升级iPadOS之后App黑屏问题 问题描述 iOS13...我们将视角切换一下来带EffectWindow,也就是点击Xcode左侧的代码图层结构,你会看到可视化的区域渲染出了一个黑色的Scene,这个应该就算是我们黑屏是展示的部分啦 ?...我们先看看Xcode11下的UIWindow ? 在看看Xcode10的 ? 有了对比我们看看UIWindowScene是什么? ? 是不是感觉很不同啊,既然很不同那么问题十有八九就出现在这里啦。

1.8K00

ZLJAPP_UI自动化延伸

AB测试需求,虽经过前期的AB实验流程建设,人工验证流程在质量和效率上已有大大提升,但是投入的人力成本还是比较高,重复性极强,且验证的数据都是固定的,假设1个需求有ABC共3个分组,验证Android+IOS...3、流程解析 所有的实现都基于现有的UITest框架上面实现,同时流程中还存在暂无法避免的人工操作。...(2)填写配置文件,主要是AB测试需求中所涉及的分组、实验ID、执行设备ID和企业机器人信息相关配置 # True:执行该分组 False:执行该组 A = True B = True C =...成果 目前通过数据分析,初版已实现效率约50%+提升,但是还只局限于APP首页上报的AB实验验证,取得初效如下表格分析,后续通过业务使用,会进行场景的添加以及脚本优化,同时支持IOS客户端。 ?...写在最后 “工欲善其事必先利其器”,UI自动化是移动应用开发中重要的一环,实现过后我们不妨结合公司的业务去思考更多的落地场景,同时应用到测试工作中去提升效率以及赋能于其他伙伴,不再局限于核心流程的业务回归

82930

Carthage使用

背景 之前一直用CocoaPods,这次做编译时间优化时,把某些Pod依赖的库改为了Carthage依赖的,这里记录一下Carthage的使用。...19.0 github "ibireme/YYKit" github "ReactiveX/RxSwift" "6.5.0" github "onevcat/Kingfisher" "version6-xcode13...最后一步,安装,注意下面几个方法的不同 # 会编译所有平台的,比如tvOS、iOS、macOS等 carthage update --use-xcframeworks # 只编译iOS的库 Carthage...update --platform ios --use-xcframeworks # 只编译iOS的库,且如果编译的缓存存在的话,不重复编译 Carthage update --platform ios...Libraries, and Embeded Content中需要切换勾选Embeded & Sign,如下: 如果使用了SwiftLint,编译后可能报错,在.swiftlint.yml中添加Carthage的也校验

18840

WeTest明星工具-移动端性能测试PerfDog初探

iOS和Android平台获取性能参数如下: iOS平台 (与苹果官方Xcode工具参数对齐一致) Screenshot FPS(1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS) 1)...iOS9.1以下系统暂时不支持。类似Android的Jank卡顿和iOS的FramePacing平滑度统计原理。帧率FPS高并不能反映流畅或卡顿。...如做性能测试,建议升级iOS系统版本 Xcode Memory (XCode Debug Gauges统计方式即XCode Memory)。...受iOS平台限制,暂时无法获取ios10及以下系统的Xcode Memory。后续版本增加。...11.操作对应app 12.停止记录数据(不能少于10S) 13.上传记录数据 14.进入perfdog后台查看性能数据 流程介绍 前五步操作就不讲述了,大家都懂。

1.1K50
领券