2016-10-11 7 views
0

私は重い角度の場所でかなり時間の敏感なタスクを自動化するために分度器を使用していますが、これには約15秒かかることがあります。独立した分度器テストの間にクロムのインスタンスを再利用することはできますか?

毎回新しい負荷を避けるために、さまざまなテストの間にクロムのインスタンス(およびページが読み込まれた状態)を維持する方法があるかどうかを確認したいと思います。

+0

同じアプリケーション/ウェブサイトのテストの場合、どうして分割されますか? –

+0

固定間隔で発生しない外部事象を条件としているためです。つまり、外部イベントが発生し、Webサイトでアクションを自動化します。毎回低負荷を待つ必要がないようにしたい。 – Monty

答えて

0

あなたは、確実に、これらのイベントは同時に起こりませんか?そうした場合、テスト結果は矛盾します。分度器が毎回新しいブラウザウィンドウを開く理由は、毎回クリーンスタートを提供することです。これにより、毎回まったく同じようにテストが確実に実行されます。解決のためとして今

、:あなたのconf.jsファイルで

、あなたは(あなたの場合Google Chromeで)使用するブラウザを指定しています。それはおそらくの線に沿って見えます:here文書として

exports.config = { 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['myspec.js'], 
    capabilities: { 
    browserName: 'chrome' 
    } 
}; 

、あなたは、このようなshow-fps-counter--start-maximized--user-data-dirとして、あなたの能力にクロム固有のオプションを追加することができます。引数の完全なリストはhereです。あなたが追加する必要がありますすることはあり

(それは長い一つだ):Windows上での選択の

capabilities: { 
    'browserName': 'chrome', 
    'chromeOptions': { 
    'args': ['--user-data-dir=/your/path/of/choice'] 
    } 
} 

あなたのパスは、例えば--user-data-dir=c:\fooことができます。 UNIXベースのOSの場合--user-data-dir=/usr/foo

--user-data-dirフラグは、ユーザーデータ(Cookie、キャッシュデータ、履歴、ブックマーク)を強制的に保存します。 Hereがそのドキュメントです。

ブラウザセッションを開いたままにしておくことはできませんが、これは理想的ではありませんが、前回のテスト実行時にキャッシュされたデータを使用するため、パフォーマンスが大幅に向上します。

最初のテストがまだ遅く実行されても、最初のテストにはまだキャッシュされているものはありません:)。

+0

ありがとうTomは正しいです、ユーザーデータを格納することはスピードに大きな違いをもたらしますし、毎回ログインする必要がなくなり、テストに差が出るという利点もあります。私はすでにそれを実装していて、ウィンドウを開いたままにしたいと考えていました:)。他のアイデア? – Monty

関連する問題