2016-08-09 17 views
0

私は角型アプリケーションをテストするために分度器とgulpを使用します。私は.MP4として、それらを再生したり、他のものは何でものWindows 10上で分度器e2eテストのビデオを録画する

を開くことができるフォームできるように、私はrecord videos for my Protractor e2e testsへの道を探しています

は、誰もがこれを達成していますか?おそらく便利なリンクやコードを教えてください。

+0

なぜビデオを録画したいですか?それを録音しても、ページが表示されたときに見えるもの以外のことは教えられません。 browser.pause()またはbrowser.debugger()を使用してデバッグし、ページにあるものを確認することができます。 – Jooba0352

+0

テクニカルではないQAメンバーにとっては、合格した方法で記録されたすべてのテストを表示し、再生して視覚的に何かが壊れたかどうかを確認できる方法が必要です。私たちはすでに虚偽のスクリーンショットを撮っていますが、私は持っていたいと思っています。SauceLabsのようなmp4は – pelican

+0

を再生することができますまた、「要素をクリックすることができず、他の要素がクリックを受け取る」ようなエラーが発生することもあるため、開発時間を節約できます。 CIサーバーによって録画されたビデオを再生すると、それがどのように起こったのかをさらに深く知ることができます。私はこれが、e2eテスト用のCIパイプラインの設定に携わる多くの人々に役立つだろうと考えています – pelican

答えて

0

レコーディングソフトウェアをお探しの場合は、無料のプログラムであるOpen Broadcaster softwareのようなものを入手できます。このプログラムでは、画面の一部である「シーン」を指定することも、メインのデスクトップ画面全体を記録することもできます。 Here is a tutorial on scenes with OBS

+0

ちょっとamiller、あなたの応答のおかげで;私は録音ソフトウェアを探しているわけではない。私は彼らが走っているときにあなたのe2eテストを記録するための分度器と統合されたインターフェースを探しています。このようなもの:https://github.com/tepez/protractor-video-reporter;そのリンクの問題はJasmineフレームワークを使用していることです。私はジャスミンではなくキュウリのフレームワークで動作するものを探しています。また、Bamboo NOT Jenkinsでこれを達成しようとしていますので、Jenkinsのプラグインを使用することはできません。 – pelican

3

あなたはffmpegのバイナリを使用して分度器E2Eテストを記録することができますNPMパッケージがあります:https://www.npmjs.com/package/protractor-video-reporter

あなたはすぐに実行されているテストを知っていると、/ 1が成功したかを見るように、それはまた、ビデオの各スペック名と字幕を生成し、失敗しました。

あなたがする必要があるのは、あなたのprotractor-config.jsファイルに新しいレポーターを追加することだけです。

ウィンドウまたはデスクトップ全体を記録できます。

分度器・ビデオ・レポーターのバージョン0.3.0では、私も

それは(私は.MOVを再生することができませんでしたとして)出力されたビデオ名と拡張子の名前を変更することができるように内部jasmineStarted関数のオーバーライドする必要がありましたが

... 
onPrepare:() => {  

    ... 
    //TODO remove function override to be able to change the single video containing all spec's name when PR merged 
    //TODO https://github.com/tomyam1/protractor-video-reporter/pull/18 
    VideoReporter.prototype.jasmineStarted = function() { 
     var self = this; 
     if (self.options.singleVideo) { 
     var videoPath = path.join(self.options.baseDirectory, 'protractor-specs.avi'); 

     self._startScreencast(videoPath); 

     if (self.options.createSubtitles) { 
      self._subtitles = []; 
      self._jasmineStartTime = new Date(); 
     } 
     } 
    }; 

    jasmine.getEnv().addReporter(new VideoReporter({ 
      baseDirectory: path.normalize(path.join(__dirname, '../testresults/videos/')), 
      createSubtitles: true, 
      singleVideo: true, 
      ffmpegCmd: path.normalize('./node_modules/ffmpeg-binaries/bin/ffmpeg.exe'), 
      ffmpegArgs: [ 
       '-f', 'gdigrab', 
       '-framerate', '24', 
       '-video_size', 'wsxga', 
       '-i', 'desktop', 
       '-q:v','10', 
      ] 
     })); 

}, 
... 

あなたは、あなたのニーズに合わせてffmegArgsで遊ぶことができます:

はここに窓10に私の現在の設定です。いくつかの引数を特定の順序で定義する必要があります。そうでない場合、パラメータにエラーがある場合、ffmpegは自動的に終了し、ビデオは記録されません。これが起こるとき、あなたは、このパッケージのVideoReporter.jsファイルでデバッグをffmpegのプロセスからの出力エラー・メッセージを有効にすることができた場合: (node_modules /分度器・ビデオ・レポーター/ libに/ VideoReporter.js)は、Mac OSX上で

... 
function VideoReporter(options) { 

     var self = this; 

     debug.enabled = true; 
... 

、同梱ffmpegのバイナリがqttaskまたはavfoundationが含まれていないようですので、私は醸造して手動でインストールする必要がありました:

brew install ffmpeg --with-libass --with-fontconfig 

ここでマックOSXのための私の現在の設定です:

  jasmine.getEnv().addReporter(new VideoReporter({ 
       baseDirectory: path.normalize(path.join(__dirname, '../testresults/videos/')), 
       createSubtitles: true, 
       singleVideo: true, 
       ffmpegCmd: path.normalize('/usr/local/bin/ffmpeg'), 
       ffmpegArgs: [ 
        '-f', 'avfoundation', 
        '-i', '1', 
        '-pix_fmt','yuv420p', 
        '-r','24', 
        '-video_size', 'woxga', 
        '-q:v','10', 
       ] 
      })); 

ハッピーe2e録音! :)

関連する問題