我是任何类型的iOS编程的新手。我正在尝试为我的其中一个场景编写UI测试用例。

以下是使用recode方法并点击自定义组件时得到的代码。

let button = XCUIApplication().children(matching: .window).element(boundBy: 0).children(matching: .other).element.children(matching: .button).element

在此自定义组件中,有两个按钮。我想知道选择了哪个按钮。为此,我需要确定按钮。但是我在自定义视图上点击的位置都会得到相同的代码。

如何在自定义视图中访问每个组件。任何帮助都会很棒。

最佳答案

将可访问性标识符添加到应用代码中的自定义视图。

let customView: UIView!
customView.accessibilityIdentifier = "myCustomView"

然后像这样访问内容:
let app = XCUIApplication()
let customView = app.otherElements["myCustomView"]
let button1 = customView.buttons.element(boundBy: 0)
let button2 = customView.buttons.element(boundBy: 1)
XCTAssertTrue(button1.isSelected)
XCTAssertFalse(button2.isSelected)

请注意,要使测试具有确定性,您应该已经知道应该选择哪个按钮。这样可以确保您的测试每次运行都测试相同的内容。

关于ios - Swift 3 UI测试中的自定义 View 组件中的访问元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43658903/

10-14 21:02