蘋果在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 [ 「刪除」]。挖掘()' –