如何在 NativeScript 中以编程方式模拟视图上的点击事件?

How do I programmatically simulate a tap event on a view in NativeScript?

我正在编写一些代码来对我的 NativeScript 应用程序进行一些自动化 UI 测试。该代码将托管在应用程序本身内,因此我需要能够从 javascript 代码驱动 UI 事件。具体来说,我需要能够以编程方式在视图上触发点击事件。

Google 上的一些搜索没有找到任何好的方法来执行此操作。我看到几个类似的问题,其中包含直接调用 tap 事件处理函数的建议,但是当需要参数对象时这将不起作用,因为直接调用不会包含 NativeScript 生成的参数对象。

有什么想法吗?

有几种方法可以做到这一点。 1. 你可以使用NativeScript-Dom(本人是作者);然后你可以轻松地做到这一点:

var x = getElementById("blah"); 
x.notify({eventName: "tap", object: x});

runAgainstTagName("Buttons", function(elem) { elem.notify({eventName: "tap", object: elem} );

getElementsByTagName/getElementsByClassName,或runAgainstId/RunAgainstClassName 或者您甚至可以使用内置的 .getViewById("blah");

找到元素的任何一个。然后使用 .notify 将点击事件发送给它。