gpt4 book ai didi

appium - 如何在 Android 上使用 Appium 找到 NativeScript TextField?

转载 作者:行者123 更新时间:2023-12-02 05:15:58 24 4
gpt4 key购买 nike

我正在尝试使用 nativescript-dev-appium 设置自动化 e2e 测试。在 Android 上通过 Appium 运行 NativeScript 应用程序时,我不知道如何定位 TextField。我正在使用 tns-core-modules v5.2.1 和 nativescript-angular 7.0.2。

我能找到的似乎用于自动化测试以查找元素的唯一 NativeScript 元素属性是 automationText .当我设置 automationText在 iOS 上,我可以使用 Appium 驱动程序的 driver.findElementByAutomationId 找到文本字段。或 driver.findElementByAutomationText .但是,在 Android 上,这些方法都没有返回正确的元素。 findElementByAutomationId根本不起作用(我认为自动化 ID 可能是特定于 iOS 的)和 findElementByAutomationText在我的 TextField 旁边返回一个标签,而不是 TextField 本身。

我的实际 View 有很多 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似乎是通过 Text 而不是 Android 上的 AutomationText 搜索元素,在运行测试时我能找到我的 TextField 的最可靠方法是什么?最好,我想要一个跨平台的解决方案,这样我就不必在 iOS 和 Android 上使用不同的查找策略。

最佳答案

为什么不能要求开发人员为给定组件设置 id 定位器并使用以下代码段。

await driver.findElementById("#name");

我看到你的组件没有定位器,这也是一个可靠的......

关于appium - 如何在 Android 上使用 Appium 找到 NativeScript TextField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56469344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com