NativeScript-Dev-Appium:UIElement.text()/ UIElement.getAttribute(“ value”)返回automationText而不是显示的文本

时间:2019-02-21 00:37:22

标签: appium nativescript

我正在使用NativeScript-Dev-Appium@5.0.0,希望检查标签上显示的文本。我已将AutomationText属性分配给,并使用Driver.findElementByAccessibilityId(automationTextValue)来获取元素。找到该元素,但是当我尝试在其上使用UIElement.text()/ UIElement.getAttribute(“ value”)时,它将返回automationText属性的值,而不是实际显示的文本。还有其他方法可以执行,因为我找不到任何方法。

1 个答案:

答案 0 :(得分:0)

不幸的是,这是NativeScript本身的局限性,因为当使用automationText属性时,它将设置元素的所有属性,例如值,名称,标签等。我建议您将相同的文本设置为automationText属性,然后再进行设置可以使用以下方式访问或测试元素:

  1. 使用XPath:
const el = await driver.findElementByXPath("//*[@name=\"My automation text\"]");
  1. 仅适用于Android
const el = await driver.findElementByText("My automation text");
const text =  await el.getAttribute("text");
  1. 使用imageVerification类型,例如:
await driver.compareRectangle
await driver.compareElement
await driver.compareScreen 

这很方便,但是这里的缺点是,在某些时候这将需要更高的维护。