PerfectoとXCUITest
Perfectoのデバイス上でiOSアプリのアクセシビリティ問題をテストします。
PerfectoでUIテストを実行し、デバイス間のアプリのアクセシビリティ状態を包括的に理解しましょう。
必要要件:
- Perfecto Enterprise Private Cloud
前提条件
- あなたのUIテストは、iOS用のAxe DevTools Mobileと統合されています。以下をご覧ください: クイックスタートガイド をご覧ください。
- アプリを配布用に準備します。本物のデバイス上でPerfectoでテストを行うため、アプリとUIテストターゲットを設定することでプロセスがスムーズになります。
- インストール Gradle。
サンプルプロジェクト
例を探していますか?当社のサンプルiOSプロジェクトはテストのための統合が準備されています。
-
前提条件を確認してください。
-
Githubのサンプルプロジェクトをダウンロード
-
開発チームをアプリとUITestターゲットに追加するために、Xcodeプロジェクトファイルを開きます
-
Axe DevTools for Mobile APIキーを
Login.swiftに追加 -
次の場所の値をあなたのPerfectoクラウドに合わせて調整します:
perfecto.sh
CLOUDNAME="<<perfecto-cloud-name>>"configFile.json-cloudURL、securityToken、deviceNameの値を確認してください:
{ "cloudURL": "<<perfecto-cloud-name>>", "securityToken": "<<security-token>>", ... "devices": [ { "deviceName": "00005302-BF389EDED8B22DBD" } ], ... } -
ターミナルウィンドウを開き、
cdを入力してから、Finderからaxe-devtools-ios-sample-appをターミナルウィンドウにドラッグアンドドロップします。リターン/エンターキーを押してください。 -
同じウィンドウで、
sh perfecto.shと入力します。リターン/エンターキーを押してください。
Perfecto統合に使用されるサンプルプロジェクトには3つのファイルがあります:perfecto.sh、configFile.json、およびbuild.gradle。
PerfectoをXCUIテストに追加する
セットアップ
注: すべての3つのファイルはプロジェクトのルートに配置されていることを期待しています。
-
Perfectoのプラットフォームでテストを実行するためのシェルスクリプトを作成します。
APP_LOCATION、APP_NAME、およびCLOUDNAMEの値をあなたのアプリケーションとPerfectoクラウドに合わせて調整してください。APP_LOCATION="DerivedData/Build/Products/Debug-iphoneos" APP_NAME="axe-devtools-ios-sample-app" CLOUDNAME="<<perfecto-cloud-name>>" TOKEN="<<security-token>>" JOBNUMBER="<<job-number>>" rm -rf *.app # Prepare app files gradle buildForRealDevice mv $APP_LOCATION/$APP_NAME.app . mv $APP_LOCATION/"$APP_NAME"UITests-Runner.app . # Run on Perfecto cloud gradle perfecto-xctest -PconfigFileLocation=configFile.json -PcloudURL=$CLOUDNAME.perfectomobile.com -PsecurityToken=$TOKEN -PjobNumber=$JOBNUMBER --stacktrace --debug rm -rf DerivedData -
Gradleファイル、
build.gradleを追加します。最後のセクションをあなたのアプリケーションの値に合わせて更新してください。// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { def flatDirPath = project.hasProperty('flatDirPath') ? project.getProperty('flatDirPath') : '' if(flatDirPath != '') { flatDir { dirs flatDirPath } } else { maven { url "https://repo1.perfectomobile.com/public/repositories/maven/" } } } dependencies { classpath "com.perfectomobile.instrumentedtest.gradleplugin:plugin:+" } } apply plugin: 'com.perfectomobile.instrumentedtest.gradleplugin' perfectoGradleSettings { configFileLocation "configFile.json" } tasks.register('cleanPreviousBuild', Exec) { workingDir projectDir commandLine "bash", "-c", "rm -fr *.xctestproducts dd" } tasks.register('buildForRealDevice') { dependsOn cleanPreviousBuild doLast { exec { commandLine "bash", "-c", "xcodebuild build-for-testing " + " -destination generic/platform='iOS' " + " -configuration Debug" + " -scheme axe-devtools-ios-sample-app" + " -target axe-devtools-ios-sample-appUITests" + " -sdk iphoneos" + " -derivedDataPath DerivedData/ -quiet -allowProvisioningUpdates" } } } -
Perfectoの構成JSONを追加し、
cloudURL、securityToken、appPath、testAppPath、およびdeviceNameの値をあなたのPerfecto認証、アプリケーション、および利用可能な実デバイスUUIDに合わせて確認してください。上記の
build.gradleはconfigFile.jsonという名前の構成ファイルを探しています - 異なる名前を使用している場合は必ず更新してください。{ "cloudURL": "<<perfecto-cloud-name>>", "securityToken": "<<security-token>>", "appPath": "axe-devtools-ios-sample-app.app", "testAppPath": "axe-devtools-ios-sample-appUITests-Runner.app", "devices": [ { "deviceName": "00005302-BF389EDED8B22DBD" } ], "tags": [ "xcuitest", "sample" ], "projectName": "Axe-XCUITest", "projectVersion": "v1-test", "jobName": "AXE-XCUITEST-LATEST", "jobNumber": 1, "branch": "master", "failBuildOnFailure": false, "installationDetails": { "preCleanUp": true, "resign": true }, "postExecution": { "uninstall": false }, "acquireDeviceRetryNumber": 1, "acquireDeviceRetryInterval": 200, "debug": true, "runUnitTests": true, "runUiTests": true, "shard": false, "takeScreenshotOnTestEnd": true, "testTimeout": "60000" }
実行
プロジェクトをセットアップしたら、シェルスクリプトを実行してPerfectoクラウドでテストを実行します。
ローカルで確認:
- ターミナルでプロジェクトを開きます。
sh perfecto.shを入力し、エンターキーを押します。- Perfecto Cloudのテスト分析を開き、最新のレポートを確認してください。
