我正在编写一些代码来对NativeScript应用程序进行一些自动UI测试。代码将托管在应用程序本身中,因此我需要能够从javascript代码中驱动UI事件。具体来说,我需要能够以编程方式在视图上导致点击事件。
谷歌上的一些搜索没有找到任何好办法。我看到了几个类似的问题,其中包含直接调用tap事件处理函数的建议,但是当需要arguments对象时这不起作用,因为直接调用不包含NativeScript生成的arguments对象。
有什么想法吗?
答案 0 :(得分:3)
有几种方法可以做到这一点。 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
向其发送点击事件。