2016-09-12 5 views
0

В настоящее время я пишу тесты автоматизации Appium в NodeJS для iOS. Хотя у меня возникают проблемы с элементами UIAStaticText. Несмотря на то, что они видны на экране, я постоянно получаю ошибку ElementNotFound.UIAStaticText Appium iOS - NodeJS

Я использую XPath для элемента, отображаемого в Appium Inspector - он находится в формате «// UIAApplication/UIAWindow/UIAStaticText [1]». В коде приложения этот элемент является UIALabel.

Я пытаюсь получить значение метки, но в настоящее время не может получить атрибут getAttribute, но не может найти элемент.

Есть ли известное ограничение с элементами UIAStaticText и есть ли обходной путь?

Большое спасибо.

ответ

0

Я не уверен, если вы спрашиваете, как получить атрибут или как правильно найти элемент. Я предполагаю найти элемент.

Я не уверен в каких-либо известных проблем с UIAStaticText, но я хотел бы попробовать использовать следующую строку

driver.findElement(By.xpath("//UIAStaticText[contains(@text, '*Static Text*')]"));

или

driver.findElement(By.xpath("//UIAStaticText[contains(@label, '*label Text*')]"));

Таким образом, вы не в зависимости от предыдущие элементы внутри xpath. Хороший способ проверить, есть ли у вас хороший xpath, - использовать кнопку copy xml в инспекторе appium и посмотреть, возвращает ли ваш xpath уникальный элемент.

В большинстве случаев я столкнулся с меткой, совпадающей с именем или текстом.

Надеюсь, что ответит на ваш вопрос.