NativeScript-Dev-Appium: UIElement.text () / UIElement.getAttribute («значение») возвращает текст автоматизации вместо отображаемого текста - PullRequest
0 голосов
/ 21 февраля 2019

Я использую NativeScript-Dev-Appium@5.0.0 и хочу проверить, отображается ли текст на этикетке.У меня есть свойство automaticText, назначенное и использующее Driver.findElementByAccessibilityId (automaTextValue), чтобы получить элемент.Элемент найден, но когда я пытаюсь использовать для него UIElement.text () / UIElement.getAttribute ("value"), он возвращает значение атрибута automaText вместо фактического отображаемого текста.Есть ли другой способ сделать это, потому что я не могу найти какой-либо.

1 Ответ

0 голосов
/ 21 февраля 2019

К сожалению, это ограничение самого NativeScript, так как при использовании свойства AutomationText он устанавливает все свойства элемента, такие как значение, имя, метка и т. Д. Я бы посоветовал вам установить тот же текст для свойства AutomationText, а затемможет получить доступ или проверить элемент, используя что-то вроде этого:

  1. Используя XPath:
const el = await driver.findElementByXPath("//*[@name=\"My automation text\"]");
Только для Android
const el = await driver.findElementByText("My automation text");
const text =  await el.getAttribute("text");
Используйте типы проверки изображения, такие как:
await driver.compareRectangle
await driver.compareElement
await driver.compareScreen 

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

...