Как подтвердить значение TextView в XCode7 iOS9?

Я делаю модульное тестирование пользовательского интерфейса. На картинке.
Это UILabels, за исключением длинного описания, которое представляет собой UITextView.
На странице я хочу проверить значение в ответе.

Для ответа в UILabels все в порядке. Я могу следовать примеру теста пользовательского интерфейса Xcode
Этот метод довольно прост, просто нажмите на элемент и изменить метод с .tap() на .exist() Затем заключите его в assert();

Моя проблема в том, что UITextView сложнее, чем UILabel.
Как я могу получить значение UITextView, чтобы выполнить проверку утверждений?

func testG(){

let app = XCUIApplication()
app.launch();
app.buttons["Enter"].tap()
app.tables.staticTexts["Bee"].tap()

assert(app.scrollViews.staticTexts["Name :"].exists);
assert(app.scrollViews.staticTexts["Age :"].exists);
assert(app.scrollViews.staticTexts["Specialty :"].exists);
assert(app.scrollViews.staticTexts["Description :"].exists);

assert(app.scrollViews.staticTexts["Bee"].exists);
assert(app.scrollViews.staticTexts["11"].exists);
assert(app.scrollViews.staticTexts["Sky Diver"].exists);
let text = "Bees are flying insects closely related to wasps and ants, known for their role in pollination and, in the case of the best-known bee species, the European honey bee, for producing honey and beeswax. Bees are a monophyletic lineage within the superfamily Apoidea, presently considered as a clade Anthophila. There are nearly 20,000 known species of bees in seven to nine recognized families,[1] though many are undescribed and the actual number is probably higher. They are found on every continent except Antarctica, in every habitat on the planet that contains insect-pollinated flowering plants.EOF";
assert(app.scrollViews.childrenMatchingType(.TextView).element.exists);
}

Интерфейс с полосой прокрутки


person joe    schedule 09.09.2015    source источник


Ответы (2)


Если кто-то еще найдет этот вопрос, я могу получить текст UITextView, используя

app.textViews.element.value as? String

Это предполагает, что в данный момент на экране отображается только одно текстовое представление.

person ChrisH    schedule 02.03.2016

XCTAssert(app.scrollViews.staticTexts[text].exists, "Didn't find the text!")

Не верьте, что вы можете получить значение здесь, поэтому вам просто нужно утверждать, что оно есть. Если бы это было текстовое поле, то да, получение value было бы отличным способом сделать это.

person cakes88    schedule 26.10.2015
comment
Ух ты. Спасибо за ваш ответ. Выглядит чище, чем мой. Если я нашел проблему, как мой вопрос снова. Я последу за вашим ответом. - person joe; 27.10.2015
comment
Я пробовал этот способ, и это не сработало для меня. Однако ответ в комментариях выше работает. Единственная разница между приведенным выше примером и моим вариантом использования заключается в том, что мой UITextView встроен в UIContainerView. - person moliveira; 30.11.2015