如何在 Appium 中使用 javascript 单击 Xamarin 元素?
Posted
技术标签:
【中文标题】如何在 Appium 中使用 javascript 单击 Xamarin 元素?【英文标题】:How to click a Xamarin element with javascript in Appium? 【发布时间】:2021-09-01 14:48:37 【问题描述】:我觉得我有点发疯了。
如何使用 Appium 在 javascript 中单击可访问性元素?我创建了一个 Xamarin 应用程序。我在主页上放置了一个带有 AutomationID == "ClickHere !!!" 的按钮。我想点击这个按钮。
这里是完整的appium代码:
const wdio = require("webdriverio");
const opts =
path: '/wd/hub',
port: 4723,
capabilities:
platformName: "android",
platformVersion: "9",
deviceName: "<device name>",
app: "<path to apk>",
appPackage: "<packagename>",
appActivity: "<MainActivity from Xamarin>",
automationName: "UiAutomator2"
;
async function main ()
const client = await wdio.remote(opts);
//Click the button somehow
await client.deleteSession();
main();
当我尝试使用 Appium 查找元素时,我会收到 NoSuchElementException
或“单击不是函数”错误。 我能够启动应用并运行测试,但我无法点击元素/按钮
我是 Appium 的菜鸟,因此我们将不胜感激。
【问题讨论】:
【参考方案1】:在 webdriverio 或大多数基于 javascript 的系统中,所有操作的输出都是 promises 。所以你必须使用等待
async function main ()
const client = await wdio.remote(opts);
let element = await $("locator")
await element.click()
//you can also use it as :
await (await $("locator")).click()
//Click the button somehow
await client.deleteSession();
【讨论】:
以上是关于如何在 Appium 中使用 javascript 单击 Xamarin 元素?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Appium Xcode Instruments 执行单个命令
使用 Appium 测试 NativeScript 应用程序
在移动原生应用程序测试中:使用 Appium 时如何模拟后端?