使用Kendo UI Mobile以编程方式触发点击事件

时间:2014-01-06 17:07:31

标签: jquery kendo-ui jasmine kendo-mobile

我正在使用Kendo UI Mobile,我正在尝试编写一个UI测试用例。我正在使用Jasmine进行测试。我的移动应用程序的登录页面中有以下按钮。

<a data-role="button" data-rel="modalview" href="#modalview-login" id="modalview-open-button">Login</a>

我正在尝试使用我的测试来触发该按钮。我使用以下代码尝试触发该按钮,但没有任何事情发生(我可以告诉)。

$("#modalview-open-button").click();

我缺少什么?

2 个答案:

答案 0 :(得分:2)

显然Kendo UI Mobile正在捕获并处理click()事件。我能够使用以下方式模仿点击事件:

$("#modalview-open-button").mousedown().mouseup();  // send "click()"
expect($("#modalview-login").is(":visible")).toBeTruthy();

我也发现有时候.mousedown()。mouseup()之后的expect()代码在.mouseup()完成之前触发,所以我把测试代码放在回调中。

$("#modalview-open-button").mousedown().mouseup(function() {  // send "click()"
    expect($("#modalview-login").is(":visible")).toBeTruthy();
});

答案 1 :(得分:0)

我今天遇到了同样的情况,并通过使用以下代码行找到了解决方法。这不是一个好的解决方案,但也许它可以帮助陷入同样情况的人。

var kendoMobileButton = $("#button-id").data("kendoMobileButton");
kendoMobileButton._events.click[0]();