2016-10-12 3 views
0

Я пытаюсь дождаться появления строки на панели навигации во время теста пользовательского интерфейса. При попытке установить ожидание я получаю «Thread 1: breakpoint 1.1». Что я здесь делаю неправильно?XCTest - Ожидание предиката не работает

expectation(for: NSPredicate(format: "label CONTAINS 'Rent'"), 
    evaluatedWith: XCUIApplication().navigationBars.staticTexts, 
    handler: nil) 
waitForExpectations(timeout: 10, handler: nil) 
+0

У вас есть точка останова? Удалите его, если вы это сделаете. – rmaddy

+0

Нет. Нет точки останова. Точка останова 1.1 обычно указывает на некоторое внутреннее исключение. Продолжение с этого момента обычно дает больше информации, но в этом случае это не так. – zorro2b

ответ

1

Хорошо, я понял. Вам нужен элемент, а не запрос. Поэтому код должен быть:

expectation(for: NSPredicate(format: "exists == 1"), 
    evaluatedWith: XCUIApplication().navigationBars.staticTexts. 
    element(matching: NSPredicate(format: "label CONTAINS 'Rent'")), 
    handler: nil) 
waitForExpectations(timeout: 10, handler: nil) 
+0

Обновлено до улучшенного соответствия, поскольку предыдущее не всегда правильно соответствовало – zorro2b

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