我正在使用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();
我缺少什么?
答案 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]();