Android Compose Modifier Extension не работает с TestTagsasresourceidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Compose Modifier Extension не работает с TestTagsasresourceid

Сообщение Anonymous »

Нам нужно добавить идентификатор, чтобы люди из QA могли использовать Appium Incepactor, это работает: < /p>

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

Text(
modifier = Modifier
.semantics { this.testTagsAsResourceId = true }
.testTag("someId"),
text = "Something"
)
< /code>
Проблема - повторить эти две строки на каждой композиции, которая нуждается в нем, это утомительно < /p>
.semantics { this.testTagsAsResourceId = true }
.testTag("someId")
Таким образом, создание расширения для модификатора может быть решением:

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

@OptIn(ExperimentalComposeUiApi::class)
fun Modifier.setTagAndId(tag: String): Modifier = composed {
semantics { this.testTagsAsResourceId = true }
testTag(tag)
}
< /code>
При запуске appium inpsector идентификатора нет, если вместо этого замените расширение для двух строк непосредственно в композиционном, я не вижу идентификаторов.fun Modifier.setTagAndId(tag: String): Modifier {
semantics { this.testTagsAsResourceId = true }
testTag(tag)
return this
}
Вышеуказанное вводит другую проблему, TestTag не найден Espresso, так что это еще одна причина отказаться от нее.

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

@ExperimentalComposeUiApi
fun Modifier.setTagAndId(tag: String): Modifier {
...
}
Чтение составленной документации Первым аргументом является инспекторинфо , поэтому я попытался соблюдать это:

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

fun Modifier.setTagAndId(tag: String): Modifier = composed(
inspectorInfo = {
name = "TestTagsAsResourceId" //got the name from testTagsAsResourceId file
value = tag
}
) {
...
}
Но это не работает.
Я создал расширения для модификатора с использованием comploed , поэтому после всех попыток я не понимаю, почему не работает с TestTagSresourceid . testTagSasresourceid ?

Подробнее здесь: https://stackoverflow.com/questions/770 ... resourceid
Ответить

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

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

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

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

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