2017-08-25 4 views
1

私は1つの奇妙なシナリオがあります。私は、HTMLページを作成し、スクリプトタグを追加します。スクリプトタグにはUIコンポーネントのjsファイルが含まれ、コンポーネントはreact jを使用して完全に開発されます。Javaセレンテストを実行してJSコンポーネントのコードカバレッジ

私のhtml: enter image description here 私はこのページを起動するために、ローカルWebサーバを使用して、それが「モーダル」で、この場合には、私のコンポーネントを見ることができます。

モーダル: enter image description here

私はこのモーダルをテストするために、MavenのENVでJava Seleniumテストを書き、それが何の問題もなく、それをテストします。

私のJavaのセレニウムテストを実行する(または手動でテストする)ことで、このコンポーネントのコードカバレッジを取得する必要があります。

これは可能ですか?私はグーグルで多くのことをして、適切なものを見つけることができませんでした。

ご協力いただきまして誠にありがとうございます。

+1

ノード・アプリケーションを使用している場合は、ここを参照してください可能です:私はそれを考えるhttps://medium.com/@the1mills/front-end-javascript-test-coverage-with-istanbul-selenium-4b2be44e3e98 ミドルウェアとしてnode/expressを使用していないのであれば、莫大な労力を要します。 Expressを使用している場合は、istanbul-middlewareを使用することができるので、 あなたのカバレッジのためにあなたのdevendのプレビューをプレビューすることができます。 https:// lkrnac。net/blog/2014/04 /測定コードカバレッジ・バイ・分度器/ – hypery2k

+0

最初に共有したリンクは興味深いようで、私の問題に取り組んでいます。私はそれを試して、あなたが投稿したままにするつもりです。再度、感謝します。 – aspiringqa

+0

@ hypery2k - この問題は解決されました。私は記事を辿り、それは素晴らしい仕事をした!どうもありがとうございます!! – aspiringqa

答えて

1

要約は、上に掲載されたリンクからインスピレーションを得ましたが、いくつかは簡単に続くためには箇条書きになります。

  1. あなたのpackage.jsonにイスタンブール依存関係を追加します

  2. 手動で機器のjsファイル、

    istanbul instrument test.js >> test-instumented.js 
    
  3. このコマンドを実行することにより、あなたのファイルは、このインストルメントファイルの代わりにアクセスすることを許可します元のjsファイル。

  4. テストランを実行して、ページロードが問題なく表示されるようにします。
  5. 実際に実行するには、このカバレッジ情報スクリプトを@AfterClassに追加するか、すべてのテストを実行した後で、Webdriverを終了して終了する前に追加してください。 enter image description here

  6. ここで、coverage.jsonファイルはすべてのカバレッジ情報とともにダンプされます。

  7. ここからHTMLレポートを生成します。あなたのcoverage.jsonディレクトリに移動し、以下のコマンドを実行して、エンターキーを押します:

    istanbul report 
    
  8. これは、カバレッジと呼ばれるディレクトリを生成し、その中にあなたがsonarqubeするためにそれを渡すことができますファイルをlcov.info見つけるだろう結果を見るにはhtmlファイルを開きます。

ハッピーコードカバレッジ。

関連する問題