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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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