gpt4 book ai didi

iOS 用户界面测试 : How to find UITableViewCell's AccessoryView?

转载 作者:搜寻专家 更新时间:2023-10-31 08:20:26 25 4
gpt4 key购买 nike

你好,我正在学习 UITests

我有一个问题

如何检测 accessoryView 在 tableViewCell 上的点击??在 UITest 中

下面是我的tableViewCell

enter image description here

我想检测细节关闭配件 View 的点击

像这样

app.tables.cells.buttons["FTCellAccessoryIdentifier"].tap()

但 accesorry 是 UIView 的子类

所以我在cellForRows函数中分配accisibility identifier key

cell.accessoryView?.accessibilityIdentifier ="FTCellAccessoryIdentifier"

我的测试函数是

我试试

app.tables.cells.elementBoundByIndex(lastCellIndex).otherElements.elementMatchingType(.Any, identifier: "FTCellAccesoryIdentifier").tap()

但不工作

可以在 UITests 中点击单元格的 accessoryView 吗?

最佳答案

长话短说

关于...

is possible to tap cell's accesoryView in UITests?

……是的。
但是您必须为此使用默认可访问性标识符
例如,对于像这样的单元格:

enter image description here

在 UI 测试期间点击Detail Disclosure 按钮(“更多信息”是这里的关键):

XCUIApplication().tables.buttons["More Info, Title"].tap()

在 UI 测试期间点击单元格本身:

XCUIApplication().tables.staticTexts["Title"].tap()    

长话短说:

无法更改详细信息披露的默认可访问性标识符。 From Apple :

Note: If your table cells contain any of the standard table-view elements, such as the disclosure indicator, detail disclosure button, or delete control, you do not have to do anything to make these elements accessible. If, however, your table cells include other types of controls, such as a switch or a slider, you need to make sure that these elements are appropriately accessible.

当您尝试在 cellForRow 中设置详细信息披露的可访问性标识符/标签时,cell.accessoryView 为 nil。为什么?同样,来自 Apple :

附件 View

讨论

If the value of this property is not nil, the UITableViewCell class uses the given view for the accessory view in the table view’s normal (default) state; it ignores the value of the accessoryType property. The provided accessory view can be a framework-provided control or label or a custom view. The accessory view appears in the the right side of the cell.

在您定义它们之前,附件 View 将为零。 :/

如果您真的想为其设置自定义标识符,则需要提供您“自己的”详细信息披露(例如:自定义的 UIView)。例如(举例说明):

cell.accessoryView = UIView(frame: CGRectMake(0, 0, 20, 20))
cell.accessoryView?.backgroundColor = UIColor.blueColor()
cell.accessoryView?.accessibilityIdentifier = "FTCellAccesoryIdentifier"

关于iOS 用户界面测试 : How to find UITableViewCell's AccessoryView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com