PerfectoでのAppiumテスト
モバイルアプリケーションのアクセシビリティテストをAppiumで実行し、Perfectoでサポート開始!
Dequeは Perfecto と提携し、既存の自動化テストワークフローにアクセシビリティテストを導入しました。axe DevTools Mobileを使用してAppiumテストにアクセシビリティスキャンを追加し、Perfectoデバイスでテストを実行した後、 axe Developer Hubで結果を確認してください。
必要条件:
- アクセス: Perfectoの自動化テスト
- Deque API キー
- Appiumバージョン2.11.3以上で実行されるテスト
- AxeUIAutomatorまたはAxeXCUITest Appiumドライバーを使用するテスト
アクセシビリティスキャンの方法
Perfectoは、Appiumサーバーにaxe Appiumドライバーをプリインストールしています。これらのドライバーを使用することで、Appiumテストからアクセシビリティスキャンを実行できます。Dequeの AxeUiAutomator2 および AxeXCUITest ドライバーは UiAutomator2 ドライバーからフォークされています。私たちはこれらのドライバーの基本機能を変更せずにフォークしています。テストは期待通りに実行され、アクセシビリティスキャンを実行する追加機能が得られます! XCUITest これらのドライバーを使用するための主要なステップは以下です:
アクセシビリティテストのためにAppiumテストを設定する主要な手順は以下です:
- Automation Nameを
AxeUiAutomator2(Androidの場合)またはAxeXCUITest(iOSの場合)に設定します。( Axe プレフィックスに注意してください。) - 認証のためにDeque APIキーを提供します。
- のスクリプトを実行し、アクセシビリティスキャンを行いたいテストの各場所に配置します。
mobile: axeScanのスクリプトを実行し、アクセシビリティスキャンを行いたいテストの各場所に配置します。 - Perfectoデバイスでテストを実行した後、 axe Developer Hubで結果を確認してください。
次に進むために Appiumのセットアップガイド を参照し、設定のカスタマイズ方法を学び、アクセシビリティスキャンの結果を最大限に活用し、 Appiumのサンプルテストの全リストを参照してください。セットアップガイドと例は一般的なものであり、Perfectoの統合に必要なすべてを含むわけではありません。
例
以下のコードを参照し、PerfectoプラットフォームでのアクセシビリティテストのためにAppiumテストを設定し、アクセシビリティスキャンを実行してください。
私たちのドライバーを有効にし、プラットフォームに基づく automationName キャパビリティを設定します:
Androidの設定
automationName を設定する必要があります。 AxeUiAutomator2 appPackage の値はテスト対象のAndroidアプリのパッケージ名です。
{
"automationName": "AxeUiAutomator2", // Note the 'Axe' prefix.
"appPackage": "<your-app-package>"
}iOSの設定
automationName を設定する必要があります。 AxeXCUITest bundleId の値はテスト対象のiOSアプリのバンドル識別子です。
{
"automationName": "AxeXCUITest", // Note the 'Axe' prefix.
"bundleId": "<your-app-bundle-id>"
}アクセシビリティのスキャン
Appiumは複数のプログラミング言語をサポートしています。以下のJavaScriptスニペットは、テストスクリプトに追加されるaxe DevTools Mobileの機能を示しています - 主に、axe DevTools Mobile APIキーです。スキャンにカスタム名を付けて、トレーサビリティを向上させることができます。アクセシビリティスキャンをトリガーするには、 mobile: axeScan コマンドを使用します。
const axeSettings = {
apiKey: '<deque-api-key>', // axe DevTools Mobile API key
projectId: '<devhub-project-id>', // Recommended: Use the Project ID you created in Developer Hub to upload results
scanName: '<your-scan-name-here>', // Optional: Customize the scan name
tags: ['tag-one', 'tag-two'] // Optional: Add tags, to more easily find and group scans
};
const result = await driver.execute('mobile: axeScan', axeSettings);