2016-10-23 5 views
0

Я пытаюсь создать тест пользовательского интерфейса в основном приложении списка покупок, что гарантирует, что прокрутка для удаления ячейки представления таблицы фактически удалит ячейку из представления таблицы.UI Testing swipe-to-delete table view cell

Я запускаю тестовый код ниже, но когда придет время прокрутить ячейку просмотра таблицы влево (чтобы отобразить кнопку удаления), она не прокручивается. Похоже, что он может нажимать на него, но он не садится. Из-за этого тест не работает при попытке нажать кнопку «Удалить», потому что «Не найдено совпадений для кнопки».

Как выполнить проверку на удаление в виде таблицы?

func testDeletingCell() { 
     let app = XCUIApplication() 
     app.navigationBars["ShoppingList.ShoppingListView"].buttons["Add"].tap() 

     let element = app.otherElements.containing(.navigationBar, identifier:"ShoppingList.AddShoppingListItemView").children(matching: .other).element.children(matching: .other).element.children(matching: .other).element 
     let textField = element.children(matching: .textField).element(boundBy: 0) 
     textField.tap() 
     textField.typeText("abc") 

     let textField2 = element.children(matching: .textField).element(boundBy: 1) 
     textField2.tap() 
     textField2.typeText("123") 
     app.navigationBars["ShoppingList.AddShoppingListItemView"].buttons["Save"].tap() 

     let tablesQuery = app.tables 
     tablesQuery.children(matching: .cell).element(boundBy: 0).staticTexts["123"].swipeLeft() 
     tablesQuery.buttons["Delete"].tap() 

     XCTAssert(app.tables.cells.count == 0) 
    } 
+0

ли 123 элемент был найден правильно? И если вы наблюдаете за симулятором, на самом деле это происходит? –

ответ

6

Попробуйте этот новый синтаксис Swift 3 вместо:

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

Это был ответ. Спасибо, Рашван. – Josh

+0

@ Josh, np рад помочь. –

 Смежные вопросы

  • Нет связанных вопросов^_^