XCUIApplication 1、初始化和基本使用 2、properties: 3、functions: 4、XCUIElementTypeQueryProvider协议 二、XCUIDevice 三、XCUIElement 常用来查询UI上的元素 XCUIElementQuery:代表一系列可查询的UI元素 XCUIElement:代表具体的UI的元素 建一个UITests类: 那些setUp和tearDown方法这里就不一一赘述了 XCUIElement在应用程序中的UI元素 let element: XCUIElement = self.app.cells.staticTexts["UnitTests"] // 断言该Element 3, thenDragTo: coordinate2) // 长按后拖拽 还有一些只能在macOS上使用的,这里就不赘述了~ UI测试的正确性的一般模式如下: 使用XCUIElementQuery查找XCUIElement 合成事件并将其发送到XCUIElement。 使用一个断言将XCUIElement的状态与预期的参考状态进行比较。
当得到一个可用的 XCUIElementQuery 后,我们就可以进一步地获取代表 app 中具体 UI 元素的 XCUIElement 了。 和 XCUIApplication 类似,XCUIElement 也只是 app 中的 UI 元素在测试框架中的代理。 我们不能直接通过得到的 XCUIElement 来直接访问被测 app 中的元素,而只能通过 Accessibility 中的像是 identifier 或者 frame 这样的属性来获取 UI 的信息 其实 XCUIApplication 是 XCUIElement 的子类,了解到这一点后,我们就不难理解 XCUIApplication 也是一个代理的事实了。 Query 的执行是延迟的,它和最后我们得到的 XCUIElement 并不是一一对应的。和 NSURL 与请求到的内容的关系类似,随着时间的变化,同一个 URL 有可能请求到不同的内容。
关键词:#record #XCUIElement #Identifier #iPhone vs. iPad 首先 UI 测试特殊的地方在于。 XCUIApplication 对应的实例是应用的入口,其次所有的UI控件都是 XCUIElement。
XCUIElement。这是你正在测试的应用中UI元素的代理。每个元素都有类型和标识符,结合二者就能找到应用中的UI元素。所有的元素都会嵌套在代表你的应用的树中。 每个 XCUIElement 里都包含一个query。这些query搜索XCUIElement 树, 必须要找到一个匹配的。否则当你视图访问该元素时,测试就会失败。
用户操作模拟精准:提供XCUIElement类封装UI元素,支持点击、输入、滑动、缩放等复杂用户交互操作。 关键说明:XCUIApplication代表被测试应用,launch()方法启动应用;XCUIElement通过accessibilityIdentifier(需在应用代码中为UI元素设置)定位,避免依赖坐标或文本变化
XCUIApplication *app = [[XCUIApplication alloc] init]; [app launch]; XCUIElement *btn = app.staticTexts
框架结构 XCUITest 测试框架 API 主要包含:元素查询(UI Element Queries)相关类型,如 XCUIElementQuery,UI 元素(UI Elements)相关类型,如 XCUIElement