Digital.ai での Appium テスト
Digital.ai を使用して、Appium テストにアクセシビリティ スキャンを追加しましょう!
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 の AxeUiAutomator2 および AxeXCUITest ドライバーは UiAutomator2 および XCUITest ドライバーからフォークされていますが、これらのドライバーの基本的な機能を変更することはありません。テストは期待通りに実行され、さらにアクセシビリティ スキャンを実行する機能が追加されます!
Appium テストをアクセシビリティ テスト用に構成するための主なステップは次のとおりです。
- オートメーション名を
AxeUiAutomator2に設定します(Android の場合)またはAxeXCUITestに設定します(iOS の場合)。( Axe プレフィックスに注意。) - 認証には Deque API キーを提供します。
- スクリプトを実行して、
mobile: axeScanテストの中でアクセシビリティ スキャンを行いたいそれぞれの場所に配置します。 - 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);
}