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

解放程序猿(媛)的双手---iOS UI自动化测试

然而越是困难的事,越是研究的少,就越发有挑战性。有挑战性的事大多又会带来不菲的收益,如果能在iOS上做出大规模可持续运行的自动化测试,那么对iOS的测试演进无疑是一次大的推动。...在大量工具都无法在iOS上施展拳脚时,UI testing姗姗而来,带给我们惊喜和希望。...固定参数按照所给出的类型传值就可以了,而可变参数,需要我们按照一定的格式进行参数传递。...关于整体架构的内容在图中的最上层。一个是集成在XCODE里边的自动化运行框架和脚本,另一个是分析log日志的自动化log日志分析系统。...这些数据是在没有与开发约定代码规范的时候,随着后期的合作,这部分UI变动导致的问题中的元素属性变动问题将会降低,但是纯需求变动的问题还是保持一定的比例。 ?

4.4K81
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于 KIF 的 iOS UI 自动化测试和持续集成

    客户端 UI 自动化测试是大多数测试团队的研究重点,本文介绍猫眼测试团队在猫眼 iOS 客户端实践的基于 KIF 的 UI 自动化测试和持续集成过程。...测试框架的选择 iOS UI 自动化测试框架有不少,其中 UI Automation 是 Apple 早期提供的 UI 自动化测试解决方法,用 JavaScript 编写测试脚本,通过标签和值的可访问性获得...鉴于上述优势,我们选择了 KIF 作为 iOS 的 UI 自动化测试框架。...用例编写与组织 (1)accessibility 属性设置 accessibility 属性是 Apple 给视觉障碍人群提供完全无障碍使用的基本属性,该属性表明了 UI 元素的可访问性、是什么、做什么以及会触发什么样的操作...设置建议:设置的 AccessibilityLabel 属性值要有实际意义(用户可理解),因为设置这个属性后用户可以通过 VoiceOver 访问;用户不可访问的控件,比如某些放置控件的容器等应该设置为

    2.3K60

    Xcode 7 自动测试XCTestCase

    关于这方面的内容,可以参看下 NSHipster 这篇文章里关于 Mocking in Swift 部分的内容。 不过这些都是单元测试 (Unit Test) 的相关内容。...关于这些 UI 测试框架的更详细的介绍,可以参看 objc 中国上的 UI 测试和截图测试两篇文章。不过这些方法有一个共同的特点,那就是配置起来十分繁琐,使用上也有诸多不便。...关于具体的可用属性,可以参看 XCUIElementAttributes 的文档。...默认情况下,我们可以通过 label 属性来获取一个 Label 的文字值。 到此为止,这个简单的 demo 就书写完毕了。...在这个限制下,我们只能得到 UI 的代理对象,而不是 UI 元素本身,这让我们无法得到关于 UI 元素更多的信息 (比如直接获取 UI 元素中的内容,或者与 ViewController 中的相关的值)

    1.8K70

    一次iOS上脱机UI自动化测试方案的尝试

    感觉已经成功了一大半了,但又有个新问题,我们的测试除了接口类型的,其他基本都是和UI密切相关的,GHUnit只显示用例UI,无法看到我们被测APP的UI,这样的框架能否满足我们UI自动化呢?...这里也找了一些其他的第三方框架,从描述上看,没有发现能够满足我们想要的脱机UI自动化的框架。 方案尝试 从前面的描述上看,已经基本可以确定市面上目前还是没有这样的框架,可以支持脱机的UI自动化测试。...不过,当时刚好开发完iOS GT的组件,又看到KIF具备UI控件识别的能力,GHUnit具备用例管理的能力。于是,我就想,是不是可以将KIF的UI控件识别能力和GHUnit的用例管理能力结合在一起呢?...然后放在GT的插件上,利用GT能够和被测应用共存UI的能力,是不是就能达到脱机UI自动化测试的效果呢? 我是这么想的,也是这么做的。...作者:廖海珍,腾讯专项测试工程师,8年工作经验,3年后台开发,4年ios开发测试,1年android测试。提交专利43篇,工作中喜欢探索新的思路并尝试实践。

    1.9K70

    译文: iOS Unit Testing and UI Testing Tutorial

    原文: iOS Unit Testing and UI Testing Tutorial,作者:Audrey Tam。更新于2017年3月13日。...以下为正文: 本教程讲解如何往iOS apps中添加「单元测试/unit tests」、「UI测试/UI tests」,以及如何检查「代码的覆盖率/code coverage」。...Version: Swift 3,iOS 10,Xcode 8 很多开发者觉得写测试没什么卵用,但是,如果没有「测试」,你原本牛逼闪闪的app,很容易变成一坨翔,所以,「测试」是必不可少的。...「UI测试」的工作原理——查询app的UI对象、合成事件,然后将他们发送到这些对象。这个API允许开发者仔细检查UI对象的属性、状态,以便将他们与预期状态进行比较。...希望看完这个关于iOS Unit Testing 和 UI Testing 的教程后,你可以胸有成竹地去测试所有东西。 这里是已经完成的项目。

    1.4K30

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

    App UI 自动化测试现状 自动化测试可以分为白盒测试、黑盒测试以及灰盒测试,本文主要围绕 Apple 官方提供的 XCUITest 测试框架,逐步阐明 iOS 操作系统下的 UI 自动化测试原理、...iOS 自动化测试工具链 编写了基本的 UI 测试的 UITest Target 方法之后,我们可以利用相关命令行工具链,将 iOS UI 自动化测试脚本化,从而可以方便集成入 CI 流程。...为基础的 iOS UI 自动化测试技术。...Macaca 基于 XCUITest 和 Accessibility 设计的 iOS UI 自动化测试技术 驱动项目利用 Swift 编写,社区生态相对不完善,维护较不活跃,用户量相对较少。...从入职到现在,我参与了诸如,编译打包时间优化、支持 Swift Coverage 增量覆盖率,CI/CD 流程自动化提升,以及 UI 自动化测试等一系列我之前从未接触过的技术,使我个人在这一年的时间里,

    2.2K40

    全新Swift从入门到进阶实战探探iOS APP

    Swift作为Apple推出的新编程语言,旨在简化iOS和OS X应用的开发过程。...这使得学习Swift成为iOS开发者或计划成为iOS开发者的首要任务2。Swift语言与Objective-C的比较有哪些关键差异?...这使得Swift对于初学者来说更加友好,尽管仍有一些关于基本元素的问题,以及关于工具集(编译器、Xcode、库)问题的讨论11。...在开发iOS应用程序时,有效地使用Swift和UIKit框架进行用户界面设计(UI设计)是提高开发效率和产品质量的关键。我们可以总结出一些策略和建议。...同时,利用现有的框架和工具来辅助开发过程,也是提高UI设计质量的重要策略。在iOS应用开发中,有哪些高级技巧可以提高Swift编程语言的性能?

    36110

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

    ; 在适用于 macOS 12 的应用程序中,您可以使用属性检查器中的 localize 属性在非系统 NSMenuItem 上配置本地化的等效键选项; 在 iOS 15 的应用程序中,可以使用属性检查器中的...localize 属性在非系统 UI 菜单命令上配置本地化的等效键选项。...枚举自定义如何将性能测试的自定义指标的测量值与设置的基线进行比较; XCTest 现在能够在受支持的 iOS 设备上的 UI 测试中合成指针交互; Xcode 现在为在运行测试时崩溃的进程收集代码覆盖率数据...函数现在包括用于自定义某些选项的 Swift 重载,而无需创建 XCTExpectedFailure.Options 实例; XCTest 现在能够在 watchOS UI 测试中合成 Digital...SortDescriptor、KeyPathComparator 和 SortComparator API 提供了一个 Swift 接口来表达可归档的值排序规则。

    8.8K40

    Swift开发React Native组件

    关于封装的原理,大家可以访问我的书的《React Native移动开发实战》。 基础 学习本章知识,需要读者具备一定的OC和Swift语言基础,读者可以从下面的链接中获取学习资料。...:UIKit框架官网 Playground 测试JS代码我们要么用node执行测试文件,要么直接在console中直接测试,在Xcode也提供了这样的场所。...Storyboard 在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部...UI。...混编 众所周知RN是用OC编写的,那如何才能是用Swift来编写RN的组件呢,答案就是IOS原生就支持OC和Swift混编应用。

    2.9K90

    干货 | 携程酒店iOS动态View的探索

    大家一直都在寻求能够动态更新业务的方法,关于这方面的框架也是层出不穷。...JSValue JSValue则是一个JavaScript数据类型在Objective-C或Swift中的包装对象,借助于这个对象我们可以在Native代码和JavaScript代码之间互相传值,这两者之间的对应关系如下图所示...这是一个在Native当中的JavaScript执行环境,我们在Native环境中用JSContext来执行刚才那个Demo,就会得到一个对应的JSValue值,这个JSValue的值用[JSValuetoObjct...这个方案非常适合做一些轻量级的又需要经常不定期更新的UI,比如节日氛围或者城市包装的UI。...这些UI经常会跟随节假日更新,用这个方案可以轻松在线更新UI,不用通过服务端下发一堆样式来控制,减轻了服务发布的压力和不必要的服务交互。

    77620

    重回iOS应用开发

    虽然第一个项目还是2014年那会做的,但同事们都知道我有过iOS项目的经验,公司客户有了iOS版本的需求,自然会想到我来参与这个项目,但具体充当什么角色,我自然是拿不准的,期望来主导,但能力经验又有差距...关于iOS技术,现在有好几个可选的方案来支撑跨平台开发,reactive native、flutter、weex,但由于这个项目Android端产品已经成熟,所以没有考虑使用跨平台的技术来实现,而是直接用...iOS原生技术,其实选择Objective-C还是Swift来作为开发语言,确实是拿不准,毕竟苹果官方教程主推的还是Swift,但通过同iOS开发多年经验的同学交流后发现,使用Objective-C作为开发语言的项目...关于业务架构: UI 业务模块 基础模块 三方组件库&UIKIT & Fundation API 说明UI与业务模块的关系,以及业务模块的结构描述: UI界面和业务模块的关系遵循依赖倒置原则,由UI界面声明...4.使用:一般情况下无需对属性添加 @synthesize ,但一些特殊情形仍然需要,例如protocol中声明的属性。

    44220

    你知道在iOS开发的工作中为什么有人4k有人40k吗?

    丨Swift 最终肯定会替代Objective-C   有一点不容怀疑:Swift 最终肯定会替代 Objective-C,成为主要的 iOS 开发语言。...我们曾经拿猿题库的 App 测试过,采用 Swift 和Objective-C 混合编写的方案后,应用体积会增加 10M,这对于公司来说还是比较大的困扰。...,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程   丨深度学习API,了解iOS UI控件   Objc阶段的学习只是带你入门...,如果你想进阶,API和UI控件是必须需要学的。...UI控件的话,常用的有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉这些控件的属性和相关的操作方法。

    2.8K90
    领券