Я пытаюсь настроить автоматические тесты e2e, используя nativescript-dev-appium.Я не могу понять, как найти TextField при запуске приложения NativeScript через Appium на Android.Я использую tns-core-modules v5.2.1 и nativescript-angular 7.0.2.
Единственное свойство элемента NativeScript, которое я могу найти, которое, как мне кажется, для автоматических тестов по поиску элементов, - automationText
.Когда я устанавливаю automationText
на iOS, я могу найти текстовое поле с помощью драйвера Appium driver.findElementByAutomationId
или driver.findElementByAutomationText
.Однако в Android ни один из этих методов не возвращает нужный элемент.findElementByAutomationId
не работает вообще (я думаю, что идентификаторы автоматизации могут быть специфичны для iOS), а findElementByAutomationText
возвращает метку рядом с моим TextField, а не сам TextField.
Мое фактическое представление имеет довольнонесколько текстовых полей, но вот основная идея:
<StackLayout>
<Label text="Name"></Label>
<TextField automationText="Name" ...></TextField>
</StackLayout>
Затем, в моем тесте e2e, я хочу сделать это
const nameInput = await driver.findElementByAutomationText("Name") // Returns the Label and not the TextField
Так как findElementByAutomationText
, кажется, ищет элементы поТекст, а не AutomationText на Android, какой самый надежный способ найти мой TextField при выполнении моих тестов?Предпочтительно, я бы хотел кроссплатформенное решение, чтобы мне не приходилось использовать разные стратегии поиска на iOS и Android.