美文网首页
iOS自动化测试XCTest

iOS自动化测试XCTest

作者: 彬至睢阳 | 来源:发表于2020-11-24 17:12 被阅读0次
 iOS平台的自动化测试分为两类:一类是接口自动化测试,它不涉及UI界面,以逻辑模块接口为主要的测试;另一类(使用较多)是UI自动化测试,是直接在应用层上操作App,模拟用户操作行为的测试
 
 适用于自动化测试的模块:比较稳定的回归测试、极限操作的测试、长时间监控类测试、性能测试
 
 
 XCTest的UI测试增加了三个类XCUIApplication、XCUIElement和XCUIElementQuery,可以让测试人员很方便地识别控件、模拟用户操作
 XCUIApplication是被测试程序的代理,它可以启动应用程序,开始测试。对于每个测试用例,它都会新启一个进程,重新做初始化的工作,以确保每个用例开始执行前,被测试程序都是干净的
 XCUIElement是应用中控件的代理,每个控件都被定义成一个UIElement,并且定义了它可能模拟哪些用户操作,是我们编写测试用例的核心。如下示例代码所示,模拟用户操作由两部分组成:一个是控件,另一个是事件。
 XCUIApplication*app =  [[XCUIApplication alloc] init];
 XCUIElement*masterVC = app.buttons[@"Edit"];
 XCTAssertNotNil((masterVC));
 [masterVC tap];
 
 XCUIElementQuery是与XCUIElement相辅相成的,页面中的某个控件是否存在,都是通过XCUIElementQuery中的接口去判断的。

 
 
 查找控件的方法:
 1.通过名字 XCUIElement*masterVC = app.buttons[@"Edit"];
 
 2.通过路径和索引[[app.windows.otherElements.otherElements.navigationBars.buttons elementBoundByIndex:(1)]tap];

 3.通过控件类型 [[app childrenMatchingType:XCUIElementTypeAlert].element tap]
 通过以上这三种方式,所有的控件都可以得到,以通过名字查找控件为主,其他两种方法作为辅助,可以高效完成测试编码。
 
 
 如何知道控件属性:1.当测试执行到某个需要分析的界面时,设置断点,然后通过po App接口打印Dom树。Dom树记录了当前页面的控件结构,可以通过这种方式来查找一个控件的具体路径,或者它有什么具体的属性,然后通过这些路径或属性来定位这个控件。这种方法效率一般,但是能够解决几乎所有的问题
 2.第二种方法是通过Xcode提供的开发者工具,入口是Xcode→Open Developer Tool→Accessibility Inspector。通过Accessibility Inspector工具,可以查看某个控件的具体信息,能看到它的大部分属性,但是没有坐标属性,也不能查看路径。这种方法的优点是效率高,缺点是一些极端的问题还是没有办法解决。

重点:谷歌的EarlGrey也是不错的自动化测试框架

相关文章

  • 【开发技巧】单元测试

    iOS XCTest单元测试 iOS开发:XCTest单元测试(附上一个单例的测试代码) [iOS单元测试系列]单...

  • iOS UITest 自动化测试开发

    关于iOS的UI自动化测试,是从Xcode7之后才支持的比较好,使用XCTest.framework,Xcode可...

  • iOS自动化测试XCTest

    重点:谷歌的EarlGrey也是不错的自动化测试框架

  • (二) kiwi 实践一二

      上一篇 初探 iOS 单元测试 我们简述了单元测试的目的和本质,并介绍了XCTest的常见用法。XCTest作...

  • iOS 自动化测试(XCTest, UITests)

    前言 如何创建自动化测试 创建好的自动化测试在哪里? 如何使用自动化测试 生命周期(运行流程) 具体使用介绍初始化...

  • iOS 自动化测试(XCTest, UITests)

    文章目录 前言 如何创建自动化测试 创建好的自动化测试在哪里? 如何使用自动化测试 生命周期(运行流程) 具体使用...

  • iOS 如何进行单元测试 < 二 >

    iOS 单元测试和UI测试教程 - CocoaChina_让移动开发更简单 ObjC 中国 - XCTest 测试...

  • iOS自动化测试框架对比

    1. XCTest XCTest是苹果在iOS 7和Xcode5引入的一个简单而强大的测试框架,它的测试编写起来非...

  • IOS自动化工具

    1. XCTest XCTest是苹果在iOS 7和Xcode5引入的一个简单而强大的测试框架,它的测试编写起来非...

  • iOS测试

    [iOS 单元测试之XCTest详解](http://blog.csdn.net/hello_hwc/articl...

网友评论

      本文标题:iOS自动化测试XCTest

      本文链接:https://www.haomeiwen.com/subject/dvvdbktx.html