web-dev-qa-db-ja.com

Angular分度器-E2Eテスト後はブラウザーを開いたままにします

Angular Protractorテストの実行後にテストブラウザウィンドウを開いたままにしておくことは可能ですか?FireFoxでテストが失敗し、Webページの状態にアクセスして内容を確認すると便利です起こっている。

34
BradGreens

Protractorのデバッグ/一時停止機能を使用してe2eの実行を一時停止すると、最終的にブラウザーが開いたままになります。 詳細はこちら

そうするには、分度器のテストに失敗する前にこの行を追加します

browser.pause();

elementor と呼ばれる非常に便利なツールもあります。これは後で確認できます。

45
Leo Gallucci

_browser.pause_は現在のNode v8.1.0、 here を参照)では動作しなくなりましたが、browser.sleep(10000);を使用してブラウザを開いたままにすることができます例えば10秒

9
Urs

Gruntを使用して実行するようにテストスクリプトを構成した場合、次のコードを使用できます。

grunt.initConfig({
    // ...
    protractor: {
      options: {
        configFile: "protractor.conf.js",
        keepAlive: true, // If false, the grunt process stops when the test fails.
        noColor: false // If true, protractor will not use colors in its output.
      },
      run: {}
    },
    // ...
  });
2
Tessy Thomas

Node 8+、問題にぶつかった場合 "Error: Cannot find module '_debugger'" からbrowser.pauseソリューションを試行中に 受け入れられた回答 を使用して修正できませんでした このgithubソリューション 次のように回避できます。

  1. 分度器を自動化フレームワークのモジュールとしてインストールします(つまり-gフラグなし)

    npm install protractor
    
  2. この分度器インスタンスに対してwebdriver-manager updateも実行します。

    node ./node_modules/protractor/bin/webdriver-manager update
    
  3. コードにbrowser.pause();がある場合は、debugger;ステートメントに置き換えます

  4. 次のようにコードを実行します。

     node inspect ./node_modules/protractor/bin/protractor protractorConf.js
    

    protractorConf.jsは、分度器インスタンスの設定ファイルです

  5. debuggerがコマンドラインであなたからの入力を待つ場合、単にcontと入力してEnterキーを押します(実行をcontinueに)

2
Adelin