Cru*_*ruz 4 uitableview accessoryview ios swift uitest
你好,我正在学习UITests,现在
我有个问题
如何检测accessoryView的敲击tableViewCell?在UITest
下面是我的 tableViewCell
我想检测细节关闭配件视图的点击
像这样
app.tables.cells.buttons["FTCellAccesoryIdentifier"].tap()
但是accesorry是一个子类 UIView
所以我在cellForRows功能中分配了accisibility identifier键
cell.accessoryView?.accessibilityIdentifier ="FTCellAccesoryIdentifier"
我的测试功能是
我试试
app.tables.cells.elementBoundByIndex(lastCellIndex).otherElements.elementMatchingType(.Any, identifier: "FTCellAccesoryIdentifier").tap()
Run Code Online (Sandbox Code Playgroud)
但不行
可以在UITests中点击单元格的accesoryView吗?
关于...
可以在UITests中点击单元格的accesoryView吗?
......是的
但是你必须使用默认的可访问性标识符.
例如,对于像这样的单元格:
在UI测试期间点击详细信息披露按钮(" 更多信息 "是此处的关键):
XCUIApplication().tables.buttons["More Info, Title"].tap()
Run Code Online (Sandbox Code Playgroud)
在UI测试期间点击单元格本身:
XCUIApplication().tables.staticTexts["Title"].tap()
Run Code Online (Sandbox Code Playgroud)
无法更改详细信息披露的默认辅助功能标识符.来自Apple:
注意:如果表格单元格包含任何标准表格视图元素,例如披露指示符,详细信息披露按钮或删除控件,则无需执行任何操作即可访问这些元素.但是,如果表格单元格包含其他类型的控件(例如开关或滑块),则需要确保这些元素可以正确访问.
当您尝试设置详细信息披露的可访问性标识符/标签时cellForRow,cell.accessoryView为零.为什么?来自Apple:
accessoryView的
讨论
如果此属性的值不是nil,则UITableViewCell类在表视图的正常(默认)状态下使用给定视图作为附件视图; 它忽略了accessoryType属性的值.提供的附件视图可以是框架提供的控件或标签或自定义视图.附件视图显示在单元格的右侧.
在您定义附件视图之前,附件视图将为零.:/
如果您真的想为它设置自定义标识符,则需要提供"自己的"详细信息披露(例如:自定义的UIView).例如(说明):
cell.accessoryView = UIView(frame: CGRectMake(0, 0, 20, 20))
cell.accessoryView?.backgroundColor = UIColor.blueColor()
cell.accessoryView?.accessibilityIdentifier = "FTCellAccesoryIdentifier"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3595 次 |
| 最近记录: |