识别选定状态 Swift UI 测试

Posted

技术标签:

【中文标题】识别选定状态 Swift UI 测试【英文标题】:Identify Selected State Swift UI Tests 【发布时间】:2015-07-23 21:15:00 【问题描述】:

我想弄清楚在 Xcode 的 Swift 新 UI 测试中的分段控件上选择了哪个分段。

我可以获得 segmentedControl XCUIElement,以及与之关联的“按钮”,但我不确定如何测试所选属性。

如果我错过了明显的事情,请提前道歉。

【问题讨论】:

【参考方案1】:

XCUIElement 有一个 selected 属性,您可以检查它:

XCTAssertTrue(app.segmentedControls.buttons.elementBoundByIndex(0).selected)

【讨论】:

我在 Xcode7 Beta 3 上,它在 XCUIElementAttributes 中没有 selected 属性。但是,有一个新版本的 Xcode Beta,4,根据在线参考,它应该有一个选定的属性,所以我将其标记为正确答案。 我现在已经将它集成到测试中,效果很好。【参考方案2】:

Swift 4 版本:

let environment = app.segmentedControls.element(boundBy: 0);
XCTAssertTrue(environment.buttons.element(boundBy:0).isSelected, "Wrong environment selected");

【讨论】:

以上是关于识别选定状态 Swift UI 测试的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift UI 的布尔语句中使用状态变量

突出显示/选定状态问题的 UIButton 背景颜色

Swift UI 如何从子视图中检索状态

如何从 Swift 中每个 UI 测试断言的空核心数据开始?

在 UI 测试期间测试对象状态 (iOS)

在 Swift 中无法识别点击手势(手势开始)