5

如何使用 Chrome-devtool 的控制台来测试我的 javascript 是否有效?我找到了 xpath 并将其转换为 css 定位器。基本上,它是一个将颜色从灰色变为蓝色的按钮。

这是我的代码段: browser.execute_script("$('button.nominate').trigger('tap');")

在控制台上,我尝试了类似的东西:

$('button.nominate').trigger('tap')

结果如下图:

[]

我以为它会点击按钮

4

1 回答 1

9

我想您正在对您的移动应用程序进行某种功能测试。前段时间我也在做同样的事情(使用 CasperJS),在这个过程中,我创建了这个函数:

// I've commented out CasperJS specific stuff, don't use it if you don't need it
function triggerEventOnPage(selector, eventName, memo) {
    //casper.evaluate(function(selector, eventName, memo){
        var event;
        var element = document.querySelector(selector);

        event = document.createEvent("Event");
        event.initEvent(eventName, true, true);
        event.memo = memo || { };

        element.dispatchEvent(event);
    //}, selector, eventName, memo);
    //wait();
}

您可以通过调用在测试中使用它:

triggerEventOnPage(".edit-list-button", 'tap');

但是,请注意没有本地tap事件。只有touchstart, tachmove,touchend事件和实现tap是基于这三个完成的。因此,tap您使用的事件的实现可能与我使用的不同,并且上述功能可能对您不起作用。

编辑:因为您使用的是 jQuery,所以$('button.nominate').trigger('tap')应该可以正常工作。@NULL 可能是正确的,您的选择器无效。

于 2013-09-16T11:28:54.970 回答