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ただし、ネイティブイベントがないことに注意してください。touchstarttachmovetouchendイベントのみがありtap、その 3 つに基づいて の実装が行われます。したがって、tapあなたが使用しているイベントの実装は、私が使用していたものとは異なる可能性があり、上記の機能が機能しない可能性があります。

編集: jQueryを使用しているため、$('button.nominate').trigger('tap')問題なく動作するはずです。@NULL は、セレクターが無効であることを示している可能性があります。

于 2013-09-16T11:28:54.970 に答える