苹果在iOS 9上介绍Xcode 7的UI测试时谈到的一件事是,一切都来自可访问性。我想知道是否有人知道如何找出元素上是否有“可用操作”元素。XCode 7 UI测试 - 可用行动
我有一个UITableView
其中一些单元格可以通过从右向左滑动来删除,显示删除按钮。当VoiceOver打开并点击单元格时,它会将单元格描述为按钮,然后显示“可用操作”。
我想从我的测试中发现,所以我可以用来验证一些事情是启用的,有些事情不是。
任何想法?
苹果在iOS 9上介绍Xcode 7的UI测试时谈到的一件事是,一切都来自可访问性。我想知道是否有人知道如何找出元素上是否有“可用操作”元素。XCode 7 UI测试 - 可用行动
我有一个UITableView
其中一些单元格可以通过从右向左滑动来删除,显示删除按钮。当VoiceOver打开并点击单元格时,它会将单元格描述为按钮,然后显示“可用操作”。
我想从我的测试中发现,所以我可以用来验证一些事情是启用的,有些事情不是。
任何想法?
我不知道从XCUITesting中找出是否有可用的辅助功能,如果有,它们是什么。
但是,如果你是专门尝试检测,如果“删除”按钮向右滑动到左的单元格后可用,您可以使用类似
yourCellXCUIElement.buttons.count //How many buttons are visible inside your cell. In a standard UITableViewCell, this will be 0 unless you have exposed the "Delete" button.
您也可以在标签上按钮是这样的:
yourCellXCUIElement.buttons.elementAtIndex(0).label //In a standard UITableViewCell that has been swiped left to expose the Delete button, this will return "Delete"
这是你想要得到的,还是有不同的事情,你正试图验证启用或不是?
的语法已在斯威夫特3.
let app = XCUIApplication()
let cells = app.tables.cells
cells.element(boundBy: 0).swipeLeft()
cells.element(boundBy: 0).buttons["Delete"].tap()
更改。当我做了'swipeLeft'对细胞如果动作是不是有它结束了录音,并由此转变我有不同的看法。我希望我可以检查,看看删除的选项是否存在,而没有实际转换。但是我不得不尝试一下你的方法,但我不认为有一种方法可以绕过_not_滑动来暴露按钮。 – RyanJM
在我的UI测试我发现我的第一个单元格的tableView像这样的删除按钮: 'app.tables.cells.elementBoundByIndex(0).swipeLeft()' 后来我设法挖掘删除按钮这样的: ' app.tables.cells.elementBoundByIndex(0).buttons [ “删除”]。挖掘()' –