Pythonでレポートを生成する
リポーター対応のJSON出力を生成し、Axe DevTools for Web for Pythonでレポートを設定する
axe-devtools-apiは、Axe DevToolsリポーターと互換性のある形式で結果を生成します。
リポーター対応のJSON作成
Axe.analyze()はResultsオブジェクトを返します。これは、Results.to_json()を介してレポーター互換のJSON文字列に変換できます。
ページを分析し、結果をファイルに保存する例を以下に示します。
axe = Axe(driver)
results = axe.analyze()
with open("my_results.json", "w") as f:
f.write(results.to_json())レポートの設定
レポートメタデータはReportConfigurationクラスを通じて設定されます。
ReportConfigurationオブジェクトが目的の状態になったら、2つの方法でスキャンに適用できます:
-
Axe()に渡して単一のスキャンに適用します:report_config = ReportConfiguration().test_suite_name("my suite").ui_state("some state") axe = Axe(driver, report_configuration=report_config) results = axe.analyze() assert results.name == "my suite" assert results.id == "some state" -
個別にそれを上書きしないすべてのスキャンに対するデフォルトとして設定します:
ReportConfiguration().test_suite_name("my suite").set_as_default() axe = Axe(driver) results = axe.analyze() assert results.name == "my suite"
現在デフォルトとして設定されているReportConfigurationインスタンスを取得するには、ReportConfiguration.get_default()を呼び出します。
axe_devtools_api.Results
Axe.analyze()によって返されます。axe-coreの発見結果を保持し、それらの検査とシリアル化のためのメソッドを提供します。
プロパティ
name
テストスイート名。ReportConfiguration.test_suite_name()を通じて設定されます。デフォルト値は"axe-run"です。
id
スキャン識別子 — UI状態値(ReportConfiguration.ui_state()を通じて設定される)とUUIDをハイフンで結合。デフォルト値は"check-<uuid>"です。
メソッド
to_json()
結果をリポーター対応のJSON文字列に変換します。
is_axe_clean()
axe-coreがエラーなく実行され、違反が見つからなかった場合、Trueを返します。
is_errored()
axe-coreが実行中にエラーが発生した場合、Trueを返します。
violations_report()
発見された違反を要約した人間が読める文字列を返します。axe-coreがエラーを起こした場合は、代わりにエラーメッセージを返します。
axe_devtools_api.ReportConfiguration
テストスイート名やユーザーエージェント情報などのレポートメタデータを設定します。
report_config = ReportConfiguration().test_suite_name("my suite").ui_state("login page")
axe = Axe(driver, report_configuration=report_config)ReportConfiguration()
デフォルト値で新しいReportConfigurationを作成する。
get_default()
現在のデフォルトReportConfigurationを返します。デフォルトはset_as_default()を通じて変更可能です。
set_as_default()
このオブジェクトをデフォルト設定として、独自の設定を指定しないすべてのAxeインスタンスに設定します。
reset_default()
デフォルト設定を初期状態にリセットします。
test_suite_name(name)
テストスイート名を設定します。nameフィールドとしてResultsオブジェクトで使用されます。
name: テストスイート名。
メソッドチェーンのためにこのオブジェクトを返します。
ui_state(id)
このテストセットのUI状態を設定します。idフィールドとしてResultsオブジェクトで使用されます。
id: UI状態の文字列識別子(例:"login-page"や"dark-mode")。
メソッドチェーンのためにこのオブジェクトを返します。
user_agent(ua)
レポートに記録されるユーザーエージェント文字列を設定します。
ua: ユーザーエージェント文字列。
メソッドチェーンのためにこのオブジェクトを返します。
test_machine(t_machine)
テストが実行されたマシンの名前を設定します。
t_machine: マシンの識別子。
メソッドチェーンのためにこのオブジェクトを返します。
参照
- JSONアクセシビリティ結果をaxe Reportsにアップロードするは、結果をAxe Reportsにアップロードする方法について説明します。
- axe Reports APIキーの取得は、Axe Reportsを使用開始するためのAPIキーの取得方法を説明します。
- レポートの作成とフィルタリングは、JSONのアクセシビリティ結果からCSV、XML、またはHTMLでアクセシビリティレポートを作成する方法を示しています。また、このツールを使用して、深刻度で出力をフィルターすることもできます。
- ディスク上のJSON結果の保存方法は、JSONアクセシビリティ結果のファイル命名規則について説明します。
- CLIを使用してアクセシビリティ結果をaxe Developer Hubに送信するは、
.jsonの結果ファイルをaxe Developer Hubにアップロードする方法を示しています。
