Composerule.onnode (isdialog ()). assertisnotdisplayed () сбой. ОК, как мне найти диалог compose Dialog? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Composerule.onnode (isdialog ()). assertisnotdisplayed () сбой. ОК, как мне найти диалог compose Dialog?

Сообщение Anonymous »

Я пишу приложение для Android, используя JetPack Compose. У него есть несколько диалогов. Я тестирую с эспрессо, что они исчезают, когда это необходимо. Когда все работает правильно, я могу проверить, что все диалоги исчезли с: < /p>

Код: Выделить всё

composeRule.onNode(isDialog()).assertIsNotDisplayed()
И если Espresso определяет отображаемый диалог, тест не удается с AssertionError . Тем не менее, текст ошибки только: < /p>

Assert не удастся: компонент отображается! < /P>
< /blockquote>
Какой компонент? Как получить информацию о том, какой компонент отображается? Когда я это делаю, я не вижу диалога. Но эспрессо видит диалог. Я хочу видеть информацию о диалоговом эспрессо. Как мне это сделать? Почти любая информация подойдет, но сейчас я не нахожу абсолютно ничего.

Код: Выделить всё

fun SemanticsNodeInteraction.assertIsNotDisplayed()
Таким образом, это является Semanticsnodeinteraction , и что такой объект

представляет собой узлом семантики и путь к тому, чтобы получить его из дерева семантики. Это < /code>, но еще не нашел путь или дерево. Завтра другой тест потерпит неудачу, и я вернусь на площадь, не зная, как его отладить. Если Espresso сообщает мне, что мой тест не удался, мне нужно узнать, почему, если я должен отлаживать и исправить свой код.

Подробнее здесь: https://stackoverflow.com/questions/796 ... o-i-find-w

Вернуться в «Android»