Objective-Cサポート

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
Not for use with personal data

次の 手順に従ってaxeDevToolsXCUIフレームワークを取得します。このページで利用可能なすべての機能はObjective-Cで完全にサポートされています。XCUIフレームワークを使用する予定のファイルにはヘッダーをインポートしてください:

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>

UITestsで setUp メソッドを利用して、利用可能な機能と対話する AxeDevTools オブジェクトを初期化します。APIキーを axe.deque.comで生成してください。希望する場合は、ユーザー名とパスワードで認証することもできます。

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

- (void)setUp {
    NSError* error;
    axeDevTools = [AxeDevTools startSessionWithApiKey:@"API_KEY"
                                           url:@""
                                          projectId:@""
                                          error:&error];
}

スキャンを実行する

アプリケーション内の画面またはアプリケーション内の任意のXCUIElementでスキャンを実行するには、UITests内で新しいテストケースを作成し、 run メソッドを AxeDevTools オブジェクト内で呼び出します:

- (void)testAccessibilityOfFirstScreen {
    XCUIApplication *app = [[XCUIApplication alloc] init];
    [app launch];

    NSError* error;
    AxeResult* result = [axeDevTools runOnElement:app error:&error];
    XCTAssertEqual(result.failures.count, 0); // This allows you to assert if there are accessibility failures
}

スキャンをダッシュボードに送信

スキャンを取得したら、それをダッシュボードに送信するために postResult メソッドを AxeDevTools オブジェクトから呼び出します:

NSError* error;
[axeDevTools postResult:result withTags:@[@"Build 10.6.1"] withScanName:@"" error:&error];

スキャンにタグ付けしたくない場合は、空の配列を withTags パラメータに渡すことができます。スキャンにカスタム名をつけたい場合は、 withScanName パラメータに渡すことができます。

完全な例

#import <axeDevToolsXCUI/axeDevToolsXCUI-Swift.h>
#import <XCTest/XCTest.h>

@interface ObjcUITests : XCTestCase
@end

@implementation ObjcUITests
AxeDevTools* axeDevTools;

- (void)setUp {
    NSError* error;
    axeDevTools = [AxeDevTools loginWithAPIKey:@"API_KEY"
                                      toServer:@""
                                         error:&error];
}

- (void)testAccessibilityOfFirstScreen {
    XCUIApplication *app = [[XCUIApplication alloc] init];
    [app launch];

    NSError* error;
    AxeResult* result = [axeDevTools runOnElement:app error:&error];
    XCTAssertEqual(result.failures.count, 0);
    [axeDevTools postResult:result
                   withTags:@[@"Build 10.6.1"]
               withScanName:@""
                      error:&error];
}

@end

機能

ビューの除外

ログインしたら、 AxeDevTools オブジェクトを使用して特定のビューのルールを無視します。特定のクラスのすべてのビューを無視するか、特定のアクセシビリティ識別子を持つビューを無視することができます:

NSDictionary* ignoreRules = @{ @"UILabel": @[@"InScrollView"], // ignore InScrollView for all UILabels
                               @"LoginScreen.Button": @[@"TouchTargetSize"] // ignore TouchTargetSize for the view with this accessibility id
};
[[axeDevTools configuration] ignoreWithRulesFor: ignoreRules];

ルールの除外

ログインしたら、 AxeDevTools オブジェクトを使用して、スキャン全体のルールを無視します:

[[axeDevTools configuration] ignoreWithRules:@[@"A11yElementFocusBox"] :true];

また、 bool を変更することで、ルールを再び構成に追加できます: true から false

[[axeDevTools configuration] ignoreWithRules:@[@"A11yElementFocusBox"] :false];

スキャンをローカルに保存

結果をローカルに保存して axe DevTools Reporter CLI を利用し、CI/CDパイプライン内の一連のスキャンからエグゼクティブレポートを作成します。

スキャンは .json ファイルとして保存されます。スキャンをローカルに保存するのは、自動テスト内でのみサポートされています。 パスおよびファイル名が指定されていない場合、結果は "(APPID)-(CURRENT_SCREEN_TITLE).json" という名前が付けられ、 "AxeDevToolsResults" というフォルダーに保存されます。 **User** フォルダー内に

ログインしたら、 AxeDevTools オブジェクトを使用して、スキャンをJSONファイルとして保存します。デフォルトのパスとファイル名を使用するには、パラメータに空の文字列を送信してください:

NSError* error;
[axeDevTools saveResult:result toPath:@"" withName:@"" error:&error];