SeleniumのAPIリファレンス
Axe DevTools for Web JavaにおけるAxeSeleniumおよびAxeConfigurationクラスのAPIリファレンス
このドキュメントは、seleniumパッケージによって提供される型のリファレンスです。AxeSeleniumクラスはほとんどの使用ケースをカバーしており、AxeConfigurationが残りをカバーします。
com.deque.html.axedevtools.selenium.AxeSelenium
axeの実行方法を設定し、実際にaxeを実行します。
Results = new AxeSelenium()
.include(".my-css-class")
.skipping("aria-required-parent")
.run(driver);AxeSelenium()
AxeDriver用の新しいAxeSeleniumアクセシビリティチェックを作成します。
AxeSelenium(final AxeBuilder axeBuilder, final AxeConfiguration axeConfiguration, final ResultsFilter resultsFilter, final AxeDevtoolsReporter reporter)
AxeDriver用の新しいAxeSeleniumアクセシビリティチェックを作成します。
Results run(final AxeDriver page)
axe.runを使用してページに対してaxeを実行します。
page: a11yチェックを行うページを表すAxeDevTools Driver。
結果のドキュメントを返します。
AxeSelenium include(final String cssSelector)
単一のセレクターを含めます。ページの複数の無関係な部分をテストするには、各部分について一度ずつincludeを呼び出し、毎回単一のセレクターを指定してください。
cssSelector: 有効なCSSセレクタ。
AxeSeleniumを返し、メソッドチェーンを可能にします。
メソッドチェーンのためにAxeSeleniumを返します。
// Test .sidebar and .some-class, which are both in the top-level document
Results results = new AxeSelenium()
.include(".sidebar")
.include(".some-class")
.run(driver);AxeSelenium include(final List<String> selector)
iFrameセレクタを含めます。
selector: ネストされたiFrameセレクタのリスト。
各セレクタはネストレベル用のCSSセレクタを表します。
最後のセレクタは、最も内側のiFrame内のウェブ要素をチェックするためのCSSセレクタを表します。
メソッドチェーンのためにAxeSeleniumを返します。
include(String...)のオーバーロードはないため、includeに複数の文字列を渡すと単一のiFrameセレクターが作成され、別々のインクルードにはなりません: include("#parent-iframe", "#html")はinclude(Object...)に解決され、以下の例と同じ意味を持ちます。
// Test #html inside the iframe matched by #parent-iframe
Results results = new AxeSelenium()
.include(Arrays.asList("#parent-iframe", "#html"))
.run(driver);include(FromFrames)は同じことをより明確に表現し、新しいテストには推奨される形式です。
AxeSelenium include(FromFrames fromFrames)
明示的なFromFramesセレクターを使用して、1つ以上のネストされたiFrame内の要素を含めます。
fromFrames: FromFramesセレクター。
最後以外の各セレクターはiFrameのネストレベルを1つを一致させ、最後のセレクターは最も内側のiFrame内のテスト対象要素を一致させます。
メソッドチェーンのためにAxeSeleniumを返します。
// Test the form inside the #payment-frame iframe
Results results = new AxeSelenium()
.include(new FromFrames("#payment-frame", "form"))
.run(driver);AxeSelenium include(FromShadowDom fromShadowDom)
明示的なFromShadowDomセレクターを使用して、1つ以上のネストされたシャドウDOMツリー内の要素を含めます。
fromShadowDom: FromShadowDomセレクター。
最後以外の各セレクターはシャドウホストを一致させ、最後のセレクターは最も内側のシャドウルート内のテスト対象要素を一致させます。
メソッドチェーンのためにAxeSeleniumを返します。
// Test the #search form inside the shadow root attached to .app-header
Results results = new AxeSelenium()
.include(new FromShadowDom(".app-header", "form#search"))
.run(driver);AxeSelenium include(Object selector)
単一のオブジェクトとして供給されるセレクターを含めます。このオーバーロードは、引数の静的型が上記の型のいずれでもない場合にのみ選択されます。Objectのように宣言された変数などです。型付きオーバーロードを優先してください。
selector: CSSセレクター文字列、文字列のリスト、FromFramesセレクター、またはFromShadowDomセレクター。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium include(Object... selector)
他のオーバーロードが表現できないケースのために、プレーンなCSSセレクターとFromFramesまたはFromShadowDomセレクターを混在させるセレクターを含めます。
このオーバーロードは、呼び出しが複数の引数を渡すときに選択されます。単一のFromFramesまたはFromShadowDomを渡すと、代わりにinclude(FromFrames)またはinclude(FromShadowDom)が選択されます。
シャドウルート内にあるiFrameに到達するには、FromShadowDomセレクターをFromFramesセレクター内にネストさせる必要があります。逆にするとエラーが発生します。
selector: CSSセレクターとセレクターオブジェクトの混合セットで、テスト対象要素への単一のパスを形成します。
メソッドチェーンのためにAxeSeleniumを返します。
// Test .target inside the shadow root attached to #host, inside the #frame iframe
Results results = new AxeSelenium()
.include("#frame", new FromShadowDom("#host", ".target"))
.run(driver);AxeSelenium exclude(final String cssSelector)
単一のセレクターを除外します。ページの複数の無関係な部分をスキップするには、各部分について一度ずつexcludeを呼び出し、毎回単一のセレクターを指定してください。
cssSelector: 有効なCSSセレクタ。
AxeSeleniumを返し、メソッドチェーンを可能にします。
メソッドチェーンのためにAxeSeleniumを返します。
// Skip .cookie-banner and .ad-slot, which are both in the top-level document
Results results = new AxeSelenium()
.exclude(".cookie-banner")
.exclude(".ad-slot")
.run(driver);AxeSelenium exclude(final List<String> selector)
iFrameセレクターを除外します。
selector: ネストされたiFrameセレクタのリスト。
各セレクタはネストレベル用のCSSセレクタを表します。
最後のセレクタは、最も内側のiFrame内のウェブ要素をチェックするためのCSSセレクタを表します。
メソッドチェーンのためにAxeSeleniumを返します。
exclude(String...)のオーバーロードはないため、excludeに複数の文字列を渡すと単一のiFrameセレクターが作成され、別々の除外にはなりません: exclude(".iframe1", ".third-party-ad")はexclude(Object...)に解決され、以下の例と同じ意味を持ちます。
// Skip .third-party-ad inside the iframe matched by .iframe1
Results results = new AxeSelenium()
.exclude(Arrays.asList(".iframe1", ".third-party-ad"))
.run(driver);exclude(FromFrames)は同じことをより明確に表現し、新しいテストには推奨される形式です。
AxeSelenium exclude(FromFrames fromFrames)
明示的なFromFramesセレクターを使用して、1つ以上のネストされたiFrame内の要素を除外します。
fromFrames: FromFramesセレクター。
最後以外の各セレクターはiFrameのネストレベルを1つを一致させ、最後のセレクターは最も内側のiFrame内のスキップ対象要素を一致させます。
メソッドチェーンのためにAxeSeleniumを返します。
// Skip the form inside the #payment-frame iframe
Results results = new AxeSelenium()
.exclude(new FromFrames("#payment-frame", "form"))
.run(driver);AxeSelenium exclude(FromShadowDom fromShadowDom)
明示的なFromShadowDomセレクターを使用して、1つ以上のネストされたシャドウDOMツリー内の要素を除外します。
fromShadowDom: FromShadowDomセレクター。
最後以外の各セレクターはシャドウホストを一致させ、最後のセレクターは最も内側のシャドウルート内のスキップ対象要素を一致させます。
メソッドチェーンのためにAxeSeleniumを返します。
// Skip the #search form inside the shadow root attached to .app-header
Results results = new AxeSelenium()
.exclude(new FromShadowDom(".app-header", "form#search"))
.run(driver);AxeSelenium exclude(Object selector)
単一のオブジェクトとして供給されるセレクターを除外します。このオーバーロードは、引数の静的型が上記の型のいずれでもない場合にのみ選択されます。Objectのように宣言された変数などです。型付きオーバーロードを優先してください。
selector: CSSセレクター文字列、文字列のリスト、FromFramesセレクター、またはFromShadowDomセレクター。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium exclude(Object... selector)
他のオーバーロードが表現できないケースのために、プレーンなCSSセレクターとFromFramesまたはFromShadowDomセレクターを混在させるセレクターを除外します。
このオーバーロードは、呼び出しが複数の引数を渡すときに選択されます。単一のFromFramesまたはFromShadowDomを渡すと、代わりにexclude(FromFrames)またはexclude(FromShadowDom)が選択されます。
シャドウルート内にあるiFrameに到達するには、FromShadowDomセレクターをFromFramesセレクター内にネストさせる必要があります。逆にするとエラーが発生します。
selector: CSSセレクターとセレクターオブジェクトの混合セットで、スキップ対象要素への単一のパスを形成します。
メソッドチェーンのためにAxeSeleniumを返します。
// Skip .target inside the shadow root attached to #host, inside the #frame iframe
Results results = new AxeSelenium()
.exclude("#frame", new FromShadowDom("#host", ".target"))
.run(driver);AxeSelenium accordingTo(final String... tags)
アクセシビリティタグに従って。指定されたアクセシビリティタグのみをチェックします。このオプションはAxeSelenium::checkingOnlyと互換性がありません
ルールの説明を参照してください。
tags: チェックするタグのリスト。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium checkingOnly(final String... rules)
アクセシビリティルールのみをチェックします。このオプションはAxeSelenium::accordingToと互換性がありません
ルールの説明を参照してください。
rules: チェックするルールのリスト。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium checking(final String... rules)
アクセシビリティルールをチェックします。指定されたタグに加えて、特定のルールもチェックします。 ルールの説明を参照してください。
rules: チェックするルールのリスト。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium skipping(final String... rules)
アクセシビリティルールをスキップします。指定されたタグ内から、特定のルールのチェックをスキップします。 ルールの説明を参照してください。
rules: チェックするルールのリスト。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium forConfig(final URL auditConfigPath)
監査スイートをそのURLで提供します。
auditConfigPath: 監査スイートに関連付けられたURL。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium forConfig(final String auditConfigPath) throws MalformedURLException
ファイルシステム上で監査スイートの場所を指定します。
auditConfigPath: 監査スイートの絶対ファイルパス。
メソッドチェーンのためにAxeSeleniumを返します。
監査パスが無効なファイルシステムパスの場合、MalformedURLException をスローします。
AxeSelenium forRuleset(final String rulesetId)
アクセシビリティチェックのためのルールセットを指定します。監査スイートを設定することで、指定されたルールセットが変更されます。 ルールセットを参照してください。
rulesetId: 設定のためのルールセットID。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium forRuleset(final String rulesetId, final boolean enableBestPractices)
アクセシビリティチェックのためのルールセットを指定します。監査スイートを設定することで、指定されたルールセットが変更されます。 ルールセットを参照してください。
rulesetId: 設定のためのルールセットID。
enableBestPractices: 「ベストプラクティス」ルールを有効にするかどうか。
AxeSelenium: メソッドチェーンのため。
AxeSelenium ignoring(final String selector, final String ruleId)
選択されたセレクターと指定されたルールIDの違反を無視します。
selector: Axe DevToolsアクセシビリティ/監査スイートによって生成されたセレクター。
ruleId: 指定されたセレクターのために無視するルールID。
メソッドチェーンのためにAxeSeleniumを返します。
AxeSelenium logResults(final AxeReportingOptions reportingOptions)
完了時にアクセシビリティチェックの結果を記録します。
reportingOptions: アクセシビリティチェックのシリアル化と永続化を定義するオプション。
メソッドチェーンのためにAxeSeleniumを返します。
boolean loggingConfigured()
ログが構成されているかどうか。
ログが構成されているかどうかを返します。
com.deque.html.axecore.args.FromFrames
1つ以上のネストされたiFrame内の要素を対象とするセレクターです。
これをAxeSelenium::includeまたはAxeSelenium::excludeに渡します。
import com.deque.html.axecore.args.FromFrames;FromFrames(Object... selectors)
FromFramesセレクターを作成します。
selectors: 各iFrameのネストレベルにつき1つのセレクター、その後に最も内側のiFrame内の要素のセレクター。
各エントリーは、CSSセレクター文字列またはFromShadowDomセレクター(iFrame自体がシャドウルート内にある場合)です。
List<Object> getFromFrames()
ネストされたiFrameを通るパスを構成するセレクターを取得します。
セレクターのリストを返します。
void setFromFrames(Object... fromFrames)
ネストされたiFrameを通るパスを構成するセレクターを設定します。
fromFrames: 使用するセレクター。
com.deque.html.axecore.args.FromShadowDom
1つ以上のネストされたシャドウDOMツリー内の要素を対象とするセレクターです。
これをAxeSelenium::includeまたはAxeSelenium::excludeに渡します。
import com.deque.html.axecore.args.FromShadowDom;FromShadowDom(String... selectors)
FromShadowDomセレクターを作成します。
selectors: シャドウDOMのネストレベルごとに1つのセレクター、その後に最も内側のシャドウルート内の要素に対するセレクター。
List<String> getFromShadowDom()
ネストされたシャドウルートを通るパスを構成するセレクターを取得します。
セレクターのリストを返します。
void setFromShadowDom(String... fromShadowDom)
ネストされたシャドウルートを通るパスを構成するセレクターを設定します。
fromShadowDom: 使用するセレクター。
com.deque.html.axedevtools.selenium.AxeDriver
AxeDriverを使用してページと対話します。
セレンのウェブドライバーをラップして、axe-DevTools専用の機能を提供します。
AxeDriver(final WebDriver webDriver)
SeleniumのWebDriverからAxeDriverを作成します。
webDriver: チェックすべきページのためのSelenium WebDriver。
com.deque.html.axedevtools.selenium.AxeConfiguration
ファイルの場所や設定などのaxeスクリプトのプロパティを設定します。
シングルトンクラスです。AxeConfiguration.configure()を使用してアクセスします。
// Code runs once before any tests are run
public void setupOnce() {
AxeConfiguration.configure()
.withAxeScript(axeURL)
.forAuditPath(auditURL)
.forRuleset("508")
.outputDirectory("my-axe-results");
}static AxeConfiguration configure()
axeアクセシビリティチェックを設定します。AxeConfigurationインスタンスを取得する唯一の方法です。
監査スイートをグローバルに設定するための設定オブジェクトを返します。
static void reset()
デフォルトの設定にリセットします。
AxeConfiguration forAuditSuite(final URL auditConfigPath)
監査スイートをそのURLで提供します。
auditConfigPath: 監査スイートに関連付けられたURL。
メソッドチェーンのためにAxeConfigurationを返します。
AxeConfiguration forAuditSuite(final String auditConfigPath) は、MalformedURLException をスローします
ファイルシステム上で監査スイートの場所を指定します。
auditConfigPath: 監査スイートの絶対ファイルパス。
メソッドチェーンのためにAxeConfigurationを返します。
監査パスが無効なファイルシステムパスの場合、MalformedURLException をスローします。
AxeConfiguration withAxeScript(URL axeScript)
アクセシビリティチェックを実行するために使用する axe コアスクリプトを指定します。
axeScript: アクセシビリティチェックに使用される axe コアスクリプトに関連付けられた URL。
メソッドチェーンのためにAxeConfigurationを返します。
AxeConfiguration forRuleset(final String rulesetId)
どのルールセットを実行するか選択します
rulesetId: 以下のいずれか:
wcag2wcag2.1wcag2.2wcag2aaawcag2.1aaawcag2.2aaa508ttv5en301549rgaav4
メソッドチェーンのためにAxeConfigurationを返します。
AxeConfiguration forRuleset(final String rulesetId, final boolean enableBestPractices)
どのルールセットを実行するか選択します
rulesetId: 可能な値については、上記 を参照してください。
enableBestPractices: 「ベストプラクティス」ルールを有効にするかどうか。
メソッドチェーンのためにAxeConfigurationを返します。
String getTestSuiteName()
テストスイート名を取得します。
テストスイート名を返します。
AxeConfiguration testSuiteName(final String testSuiteName)
テストスイート名を設定します。レポートの生成に使用されます。
testSuiteName: テストスイートの名前。
メソッドチェーンのためにAxeConfigurationを返します。
String getOutputDirectory()
レポートの出力ディレクトリを取得します。
出力ディレクトリのパスを返します。
AxeConfiguration outputDirectory(final String outputDirectory)
レポートを保存するディレクトリを設定します。
outputDirectory: ディレクトリへのパス。
メソッドチェーンのためにAxeConfigurationを返します。
String getUserAgent()
ユーザーエージェントとして使用される値を取得します。
レポート生成に使用されたユーザーエージェントを返します。
AxeConfiguration userAgent(final String userAgent)
レポート生成時に使用されるユーザーエージェントの値を設定します。axe を実行する際に使用される実際のユーザーエージェントには影響しません。
userAgent: ユーザーエージェントの値。
メソッドチェーンのためにAxeConfigurationを返します。
String getTestMachine()
テストマシンの名前を取得します。
テストマシンの名前を返します。
AxeConfiguration testMachine(final String testMachine)
テストマシンの名前を設定します。レポート生成で使用されます。
testMachine: テストマシンの名前。
メソッドチェーンのためにAxeConfigurationを返します。
com.deque.html.axedevtools.selenium.results.IgnoredViolation
IgnoredViolation(final String cssSelector, final String ruleId)
無視する違反を作成します。
cssSelector: 無視するノードのセレクタ。各ノードのターゲットと比較します。
ruleId: 無視するルールのID
com.deque.html.axedevtools.selenium.reporter.AxeReportingOptions implements ReportingOptions
レポートオプションを設定します。AxeConfigurationからデフォルト値を取得します。
AxeReportingOptions()
AxeReportingOptionsを作成します
static AxeReportingOptions defaultAuditReportingOptions()
デフォルトオプションを取得します。
デフォルトのオプションオブジェクトを返します。
String getSuiteTestName()
設定されたテストスイートの名前を取得します。
名前を返します。
AxeReportingOptions testSuiteName(final String testSuiteName)
テストスイートを説明します。
testSuiteName: テストスイートの名前。
メソッドチェーンのためのReportingOptionsを返します。
String getUiState()
設定されたUIの状態を取得します。
状態を返します。
AxeReportingOptions uiState(final String uiState)
アクセシビリティチェック中のUIの状態を説明します。
uiState: UIの状態。
メソッドチェーンのためのReportingOptionsを返します。
String getOutputDirectory()
設定された出力ディレクトリを取得します。
ディレクトリを返します。
AxeReportingOptions outputDirectory(final String outputDirectory)
アクセシビリティレポートを出力するためにルートoutputDirectoryを設定します。
outputDirectory: ディレクトリパス。
メソッドチェーンのためのReportingOptionsを返します。
String getFileName()
設定値から計算したファイル名。
ファイル名を返します。
String getFilePath(final String extension)
設定値からファイルパスを計算します。
パスを返します。
String getUserAgent()
設定されたユーザーエージェントを取得します。
ユーザーエージェントを返します。
AxeReportingOptions userAgent(final String userAgent)
アクセシビリティテストを実施するために使用されるユーザーエージェントを説明してください。
userAgent: ユーザーエージェント名。
メソッドチェーンのためのReportingOptionsを返します。
String getTestMachine()
設定されたテストマシンを取得します。
テストマシンを返します。
AxeReportingOptions testMachine(final String testMachine)
アクセシビリティテストを実施するために使用されるマシンを説明してください。
testMachine: マシン名。
メソッドチェーンのためのReportingOptionsを返します。
AxeReportingOptions lineNum(final String lineNum)
現在のテストの行番号を指定します。
lineNum: 現在のテストの行番号。
メソッドチェーンのためのReportingOptionsを返します。
ReportingOptions lineNumIfEmpty(final String lineNum)
まだ設定されていない場合、行番号を指定します。
lineNum: 現在のテストの行番号。
メソッドチェーンのためのReportingOptionsを返します。
com.deque.html.axedevtools.selenium.reporter.MissingUIStateException
UI状態が欠落している場合の例外。
com.deque.html.axedevtools.selenium.results.ResultsFilter
無視する違反事項を設定します。
ResultsFilter filter = new ResultsFilter()
.ignoring(".third-party-iframe", "label");
Results results = new AxeSelenium(axe, configuration, filter, reporter)
.run(driver);Results filterIgnoredViolations(final Results results)
無視された違反を除外するために結果をフィルタリングします。
results: フィルタリングする結果。
無視されたCSSセレクターとルールIDでフィルタリングされた、受信結果を返します。
ResultsFilter ignoring(final String cssSelector, final String ruleId)
無視される違反を追加します。
cssSelector: アクセシビリティ/監査スイートを実行することによって生成されたCSSセレクター。
ruleId: アクセシビリティ/監査スイートを実行することによって生成されたルールID。
メソッドチェーンのためのResultsFilterを返します。
com.deque.html.axedevtools.reporter.AxeDevtoolsReporter
hamcrest matcher使用時のレポートオプションを設定します。
AxeDevtoolsReporter reporter = new AxeDevtoolsReporter();
assertThat(axeDevtoolsSelenium, isAxeClean(axeSelenium, reporter));AxeDevtoolsReporter()
AxeDevtoolsReporterを構築します。
String generateReport(final Results results, final String executedCommand)
アクセシビリティチェックの文字列表現を作成します。
results: 監査チェックの結果。
executedCommand: 監査結果を生成するために実行されたコマンド。
発見されたアクセシビリティ違反の読みやすいレポートを返します。
void report(final ReportingOptions reportingOptions, final Results results, final String executedCommand)
アクセシビリティチェックについて報告します。レポートを日付ごとに結果ログファイルに追加します。完全な結果をJSONファイルとして保存します。
reportingOptions: レポートを記録するためのオプション。
results: 監査チェックの結果。
executedCommand: 監査結果を生成するために実行されたコマンド。
com.deque.html.axedevtools.reporter.TestResultsGenerator
TestResultsをResultsとReportingOptionsから生成します。
AxeDevtoolsReporterと一緒に使用します。
TestResults generate(final ReportingOptions reportingOptions, final Results results)
{@link TestResults}を生成します。
reportingOptions: 結果を作成するためのオプション。
results:axeの実行結果。
テストの戻り値
com.deque.html.axedevtools.reporter.ViolationsReporter
違反のみを報告します。
com.deque.html.axedevtools.utils.FileUtils
内部使用のためのファイルユーティリティ。
