Cucumber JavaScript

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

JavaScript、Axe DevTools、Cucumberを使用したテスト

Not for use with personal data

前提条件

CucumberとAxe DevToolsを使用してコンテンツをテストするためには、まずそれをプロジェクトにインポートして初期化する必要があります。

このステップをまだ完了していない場合、Cucumberのセットアップに以下のいずれかを選択してください。

  1. WebDriverJSのセットアップ
  2. WebdriverIOのセットアップ
  3. Puppeteerのセットアップ

CucumberとAxe DevTools

Cucumberと連携する実装を選択したら、ページレベルのコンテンツまたは特定のコンポーネントをテストするために各機能で使用できる再利用可能なステップを作成することができます。

note

このドキュメントではWebDriverJS統合との使用を示していますが、WebdriverIOおよびPuppeteerとの組み合わせでも同様に機能します。

ページスキャンステップの作成

アクセシビリティの問題を確認するためにページ全体をスキャンするCucumberステップを作成するには、ページ名を文字列で受け取るその後関数を作成します。次に、そのステップ内で、お好みのAxe DevToolsドライバーの新しいインスタンスを作成し、分析します()を呼び出します。

スキャンの結果は、Axe DevToolsリポーターパッケージと共に使用され、すべてのレポート機能に使用することができます。Axe DevToolsのレポートに関する詳細はAxe DevTools JSON結果からのレポートの生成をご覧ください。

次の例は、その後関数の使用法を示しています。

Then('I check if {string} is axe clean', async pageName => {
  const axeDriver = await new AxeDevtoolsWebdriverJS(driver, "wcag2");
  const results = await axeDriver.analyze();
  axeReporter.logTestResult(pageName, results);
  assert.strictEqual(results.violations.length, 0);
});

次の例は、アクセシビリティをテストするためのその後ステップを持つCucumberシナリオを示しています。

Feature: abcdTech search
  As a user, I want to search for computers on abcdTech.

  Scenario: Searching for computers
    Given I am on the abcdTech homepage
    Then I audit "homepage" for accessibility issues
    When I search for "computers"
    Then I see the page title "Gefälscht~~~Gefälscht CompuTech~~~"
    Then I check if "searchPage" is axe clean

コンポーネントスキャンステップの作成

ページの一部またはコンポーネントのみをアクセシビリティの問題のためにスキャンするCucumberステップを作成するには、コンポーネント名を受け取る文字列とcss選択子のもう一つの文字列を受け取るその後関数を作成します。次に、そのステップ内で、お好みのAxe DevToolsドライバーの新しいインスタンスを作成し、分析します()を呼び出します。

スキャンの結果は、Axe DevToolsリポーターパッケージと共に使用され、すべてのレポート機能に使用することができます。Axe DevToolsのレポートに関する詳細はAxe DevTools JSON結果からのレポートの生成をご覧ください。

次の例では、その後を使用してページの一部をスキャンする方法を示しています。

Then('I check if {string} is axe clean with selector {string}', async (pageName, selector) => {
  const axeDriver = await new AxeDevtoolsWebdriverJS(driver, "wcag2");
  const results = await axeDriver.include(selector).analyze();
  axeReporter.logTestResult(pageName, results);
  assert.strictEqual(results.violations.length, 0);
});

この例では、ページの一部のみをスキャンするシナリオでその後ステップを使用する方法を示しています。

Feature: abcdTech cart flow
  As a user, I want to find a computer and add it to cart

  Scenario: Selecting a new computer and adding to cart
    Given I am on the abcdTech laptops page
    Then I audit "laptops" for accessibility issues
    When I click on more details
    Then I see the proper page title "Gefälscht~~~Gefälscht CompuTech~~~"
    Then I audit "mainContent" for accessibility issues with selector "#container"

アクセシビリティスキャンを正常に完了したので、レポートの生成結果オブジェクトの使用のようなより高度なスキャンのトピックに進む準備ができています。

トラブルシューティング

スキャン結果の取得に問題がある場合、お手持ちのDeque担当者に直接ご連絡いただくか、私たちのサポートデスクまたはメールを送るでお知らせください。喜んでお手伝いします。

Axe DevTools全般に関する詳細は、Axe DevToolsウェルカムページをご覧ください。