web-dev-qa-db-ja.com

Behave-Pythonでレポートを生成する方法は?

Javaには、extent-report、testNGなどの外部レポート生成ツールがあります。JUnitは、個々の機能ファイルのxml形式の出力を生成します。詳細なレポートを取得するためのオプションが表示されません。 Behaveフレームワーク内の幅広いアプローチまたはソリューション。

Behaveでレポートを作成するには、Behaveでレポートを生成するために、他のツールやフレームワークを追加する必要がありますか?

5

ビヘイビアを使用する自動化はすべてJenkinsで実行されているため、Jenkinsプラグインを使用してjunitレポートを表示できます。

この質問が役立つと思います: JUnitの結果のHTMLレポートを生成するにはどうすればよいですか?

ビヘイビアからのjunitの結果を使用して、この質問の上位の回答のいくつかに従うことができます。

ところで、jenkinsを使用したい場合で、動作の「見栄えの良い」htmlレポートが必要な場合は、json出力を生成する動作を作成し、キュウリのレポーターを使用してjson出力を表示することをお勧めします。

2
Chong

Behaveテスト用に Allure report を生成できます。

まず、AllureBehaveフォーマッターをインストールする必要があります。

$ pip install allure-behave

次に、テストを実行するときにフォーマッタを指定します。

$ behave -f allure_behave.formatter:AllureFormatter -o %allure_result_folder% ./features

これにより、%allure_result_folder%へのJSONレポートが生成されます。次に、HTMLレポートを表示するには、Allureコマンドラインを使用できます(Jenkins/TeamCity/Bambooのプラグインも利用可能)

$ allure serve %allure_result_folder%

Allureレポートの詳細については、 docs を参照してください。

11
thistle

私はこの質問がかなり前に尋ねられた/答えられたことを知っています。

しかし、私は自分に合った解決策を与えることを考えました。

Cucumber jsonスキーマは、Behaveスキーマとは異なります。そのため、behaveによって作成されたjsonを使用して、CucumberReportsプラグインを使用してhtmlレポートを生成することはできません。キュウリのレポートを使用してjsonの動作を試したところ、これが得られました。キュウリのjsonはuriが存在することを期待していたので、uriのNPEも表示されますが、jsonの動作にはuriがないためNPEです。

`[CucumberReport] Processing 1 json files: 
 [CucumberReport] /var/lib/jenkins/jobs/behave-test/builds/14/cucumber-html- 
                  reports/.cache/results.json
 [CucumberReport] Missing report result - report was not successfully completed
 [CucumberReport] Build status is left unchanged`

レポートが正常に完了しなかったことがわかります。

そこで、behave2cucumberをインストールして、behavejsonをcucumberjsonに変換しました。

pip install behave2cucumber

次に、以下のような追加の手順を実行します。

python -m behave2cucumber -i behave_json.json -o cucumber_json.json

-iは、この場合、behaveによって生成されたjsonファイルの入力ファイルを表します

-oは、この場合のキュウリ互換のjsonファイルの出力ファイルを表します

cucumber_json.jsonには、jsonの動作が欠落していたuriフィールドが入力されます。

それは魅力のように機能します。

それが役に立てば幸い。

2
Thayz

Python動作フレームワークで魅力レポートを生成する手順。

  1. アリュールをインストールする

    pip install allure-behave

  2. Allure exeファイルをダウンロードします https://bintray.com/qameta/generic/allure2/2.6.0#files/io%2Fqameta%2Fallure%2Fallure%2F2.6.

  3. それを抽出し、binパスを環境変数(システム変数パス)に追加します。

    C:\Users\arya\Downloads\allure-2.6.0\allure-2.6.0\bin

  4. cmdプロンプトを開き、xmlレポートが存在する場所に移動して、以下のcmdを入力します。

    Allure generateと入力し、xmlファイルが存在するパスを指定します。

    D:\automation\api\reports>allure generate D:\automation\api\reports

    魅力的なレポートに正常に生成されたレポート

  5. D:\automation\api\reports\allure-reportに移動し、index.htmlブラウザでMicrosoft Edgeファイルを開きます。

アリュールレポートがChromeまたはFirefoxまたはIEブラウザで機能していません。

0
Arya Abinash

Behaveは、jUnitXML形式でレポートを生成することもできます。この機能を有効にするには、コマンドラインに--junitを追加するだけです[1]。フォーマッターとレポーターの詳細については、こちらをご覧ください[2]。

$ behave --junit

[1] http://pythonhosted.org/behave/behave.html?highlight=#cmdoption--junit

[2] http://pythonhosted.org/behave/formatters.html

0
jgiralt