Digital.ai での Appium テスト

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

Digital.ai を使用して、Appium テストにアクセシビリティ スキャンを追加しましょう!

Not for use with personal data

DequeはDigital.aiと提携して、既存の自動テストワークフローにアクセシビリティテストを導入しました。Axe DevTools Mobileを使用して、Appiumテストにアクセシビリティスキャンを追加し、Digital.aiデバイスでテストを実行した後、Axe Developer Hubで結果を確認してください。

前提条件:
  • Digital.ai Continuous Testing へのアクセス Digital.ai Continuous Testing
  • Digital.ai Application Manager にアプリケーションをアップロード Digital.ai Application Manager
  • Deque API キー
  • Appium バージョン 2.11.3 以上でのテストの実行
  • AxeUIAutomator または AxeXCUITest Appium ドライバーを使用したテスト (Digital.ai により事前インストール済み)

アクセシビリティ スキャンの実行方法

Digital.aiはそのAppiumサーバーにAxe Appiumドライバーを事前インストールしています。これらのドライバーにより、あなたのAppiumテストからアクセシビリティスキャンを実行できます。DequeのAxeUiAutomator2AxeXCUITestドライバーはUiAutomator2XCUITestドライバーからフォークされています。我々はこれらのドライバーのコア機能を変更せずにフォークしています。テストは期待通りに実行され、アクセシビリティスキャンを取る追加機能が加わります!

Appium テストをアクセシビリティ テスト用に構成するための主なステップは次のとおりです。

  1. オートメーション名をAndroidにはAxeUiAutomator2、iOSにはAxeXCUITestに設定してください。(Axeプレフィックスに注意してください。)
  2. 認証には Deque API キーを提供します。
  3. アクセシビリティスキャンを取りたい各場所でスクリプトmobile: axeScanを実行してください。
  4. Digital.aiデバイスでテストを実行した後、Axe Developer Hubで結果を確認してください。

設定をカスタマイズし、アクセシビリティスキャンの結果を最大限に活用してチームに最適に役立てる方法を学ぶには、Appium セットアップガイドを参照し、Appium サンプルテストの完全なリストを見てください。セットアップガイドと例は一般的なもので、Digital.aiとの統合に必要なすべての情報は含まれていません。

以下の例は、Digital.ai プラットフォームを使用したアクセシビリティ テスト用に Appium テストを設定する方法を示します。これらの例は Java で書かれていますが、Appium は複数のプログラミング言語をサポートしています。

Android

@BeforeMethod
public void setUp() throws MalformedURLException {
      desiredCapabilities.setCapability("accessKey", ACCESS_KEY); // Digital.ai's Access Key
      desiredCapabilities.setCapability("deviceQuery", "@os='android'");
      desiredCapabilities.setCapability("appium:automationName", "AxeUiAutomator2");
      desiredCapabilities.setCapability("app", "cloud:com.experitest.ExperiBank/.LoginActivity");
      desiredCapabilities.setCapability("appPackage", "com.experitest.ExperiBank");
      desiredCapabilities.setCapability("appActivity", ".LoginActivity");
      desiredCapabilities.setCapability("appiumVersion", "2.16.2");
      driver = new AndroidDriver(new URL("https://<your_cloud_url>/wd/hub"), desiredCapabilities);
      Map<String, Object> settings = new HashMap<>();
      List<String> tags = new ArrayList<>();
      settings.put("apiKey", <DEQUE_API_KEY>); // Deque API Key
      settings.put("projectId", <DEVHUB_PROJECT_ID>) // axe Developer Hub Project ID
      settings.put("scanName", "Axe driver"); // a customized scan name to better identify scans within the dashboard.
      settings.put("tags", tags); // an array of strings to apply to scans as tags.
      driver.executeScript("mobile: axeScan", settings);    
  }

iOS

@BeforeMethod
public void setUp() throws MalformedURLException {
      desiredCapabilities.setCapability("accessKey", ACCESS_KEY); // Digital.ai's Access Key
      desiredCapabilities.setCapability("deviceQuery", "@os='ios'");
      desiredCapabilities.setCapability("appium:automationName", "AxeXCUITest");
      desiredCapabilities.setCapability("app", "cloud:com.experitest.ExperiBank");
      desiredCapabilities.setCapability("bundleId", "com.experitest.ExperiBank");
      desiredCapabilities.setCapability("appiumVersion", "2.16.2");
      driver = new IOSDriver<>(new URL("https://<your_cloud_url>/wd/hub"), desiredCapabilities);
       Map<String, Object> settings = new HashMap<>();
      List<String> tags = new ArrayList<>();
      settings.put("apiKey", <DEQUE_API_KEY>); // Deque API Key
      settings.put("projectId", <DEVHUB_PROJECT_ID>) // axe Developer Hub Project ID
      settings.put("scanName", "Axe driver"); // a customized scan name to better identify scans within the dashboard.
      settings.put("tags", tags); // an array of strings to apply to scans as tags.
      driver.executeScript("mobile: axeScan", settings);  
  }