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

问题描述:

我正在编写一些代码来对我的NativeScript应用程序进行一些自动UI测试。代码将托管在应用程序本身中,所以我需要能够从JavaScript代码驱动UI事件。具体来说,我需要能够以编程方式在视图上发生点击事件。如何以编程方式模拟NativeScript中视图上的轻击事件?

谷歌的一些搜索没有找到任何好的方法来做到这一点。我看到一些类似的问题,包含直接调用tap事件处理函数的建议,但是当需要参数对象时,这不起作用,因为直接调用不会包含NativeScript生成的参数对象。

有什么想法?

+0

您使用的是香草或ng2吗? –

+0

香草NativeScript。 – RJM

有几种方法可以做到这一点。 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将轻击事件发送给它。

+0

'notify()'方法正是我所需要的。谢谢! – RJM