2015-10-06 80 views
1

苹果在iOS 9上介绍Xcode 7的UI测试时谈到的一件事是,一切都来自可访问性。我想知道是否有人知道如何找出元素上是否有“可用操作”元素。XCode 7 UI测试 - 可用行动

我有一个UITableView其中一些单元格可以通过从右向左滑动来删除,显示删除按钮。当VoiceOver打开并点击单元格时,它会将单元格描述为按钮,然后显示“可用操作”。

我想从我的测试中发现,所以我可以用来验证一些事情是启用的,有些事情不是。

任何想法?

回答

0

我不知道从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" 

这是你想要得到的,还是有不同的事情,你正试图验证启用或不是?

+0

更改。当我做了'swipeLeft'对细胞如果动作是不是有它结束了录音,并由此转变我有不同的看法。我希望我可以检查,看看删除的选项是否存在,而没有实际转换。但是我不得不尝试一下你的方法,但我不认为有一种方法可以绕过_not_滑动来暴露按钮。 – RyanJM

+0

在我的UI测试我发现我的第一个单元格的tableView像这样的删除按钮: 'app.tables.cells.elementBoundByIndex(0).swipeLeft()' 后来我设法挖掘删除按钮这样的: ' app.tables.cells.elementBoundByIndex(0).buttons [ “删除”]。挖掘()' –

1

的语法已在斯威夫特3.

let app = XCUIApplication() 
let cells = app.tables.cells 
cells.element(boundBy: 0).swipeLeft() 
cells.element(boundBy: 0).buttons["Delete"].tap()