2

テスト中のアプリケーションは、ページが読み込まれるたびに「page-load」イベントを発行し、ページが正常に読み込まれた後にスクリーンショットを撮りたいと考えています。Leadfoot の execute メソッドを使用して、このイベントをリッスンしようとしました。しかし、うまくいかないようです。ページロードなどのイベントを正常にリッスンする方法があるかどうか、誰でも指摘できますか。

    return remote.get(URL) 
    .execute(function() {
                                        window.addEventListener('page-load',      function() {  
                                            console.log("Page ready");
                                        }, false);
                                    }, [])
    .takeScreenshot().then(function(data) {
                                        recordImage(newAddress, data);
                                    })
4

1 に答える 1

4

イベントが非同期で発生し、イベントが発生するまで処理を待機したい場合は、executeAsync代わりに を使用する必要がありexecuteます。渡された引数にexecuteAsync加えて、非同期操作の完了時にコードが呼び出すコールバック引数を追加します。

return remote.get(URL) 
.executeAsync(function(done) {
    window.addEventListener('page-load', function() {  
        done();
    }, false);
}, [])
.takeScreenshot().then(function(data) {
    recordImage(newAddress, data);
})
于 2015-06-20T22:03:33.807 に答える