Xcode UITest - 无法在包含键值对的单元格中找到按钮

时间:2016-02-25 21:03:49

标签: ios swift2 xcode7 xcode-ui-testing uitest

我无法找到一种方法来唯一地识别Cell中存在的一系列按钮(自定义复选框)。单元格包含一系列键值对中的数据,复选框按钮与每个键值对相关联。问题是Cell包含所有键值对的值,所以我似乎无法找到其中一个按钮,因为它们都是相同的。

由于UITest代码正在解析应该在应用程序中显示的数据,因此我正在检查与键值对关联的自定义类型。如果它是.CheckboxInput,则会执行以下代码:

else if case KeyValueType.CheckboxInput = currentType {
    let currentCheckboxInput = currentKeyQuery.buttons["step unchecked"]
    currentCheckboxInput.tap()
    XCTAssert(currentKeyQuery.buttons["step checked"].exists)
}

作为参考,currentKeyQuery到达Cell并查询与键值对的Key匹配的文本。我无法点击复选框按钮,因为它找到了单元格中存在的所有内容,而不仅仅是与其正在测试的当前键值对相关联的按钮。有没有办法将按钮与当前键值对关联,因为所有复选框都存在于同一个单元格中?

1 个答案:

答案 0 :(得分:0)

我实际上能够弄清楚这一点,虽然我无法解释它为什么会起作用。我将currentCheckboxInput更改为currentKeyQuery.childrenMatchingType(.Button).matchingIdentifier("step unchecked").elementBoundByIndex(0)