Perfecto con XCUITest

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

Testa la tua app iOS per problemi di accessibilità su dispositivi di Perfecto.

Not for use with personal data

Esegui i tuoi Test UI su Perfecto per ottenere una comprensione completa dello stato di accessibilità della tua app su diversi dispositivi.

Requisiti:

  • Perfecto Enterprise Private Cloud

Prerequisiti

  1. I tuoi Test UI sono integrati con Axe DevTools Mobile per iOS. Controlla la nostra guida introduttiva se necessario.
  2. Prepara la tua app per la distribuzione. Poiché testerai su Perfecto con dispositivi reali, avere l'app e gli obiettivi dei Test UI provisionati rende il processo più fluido.
  3. Installa Gradle.

Progetto d'esempio

Cerchi un esempio? Il nostro Progetto iOS di esempio ha un'integrazione pronta per il test.

  1. Verifica di avere i prerequisiti.

  2. Scarica il progetto d'esempio da Github

  3. Apri il file di progetto Xcode per aggiungere il tuo team di sviluppo all'app e agli obiettivi UITest per il provisioning

  4. Aggiungi il tuo Chiave API di Axe DevTools per Mobile a Login.swift

  5. Adatta i valori nei seguenti luoghi per adattarli al tuo cloud Perfecto:

    • perfecto.sh
    CLOUDNAME="<<perfecto-cloud-name>>"
    • configFile.json - Controlla i valori cloudURL, securityToken e deviceName:
    {
      "cloudURL": "<<perfecto-cloud-name>>",
      "securityToken": "<<security-token>>",
      ...
      "devices": [
        {
          "deviceName": "00005302-BF389EDED8B22DBD"
        }
      ],
      ...
    }
  6. Apri una finestra Terminale, inserisci cd e quindi trascina e rilascia il axe-devtools-ios-sample-app da Finder nella finestra del Terminale. Premi ret/enter.

  7. Nella stessa finestra, digita sh perfecto.sh. Premi ret/enter.

Ci sono tre file nel progetto d'esempio utilizzati per l'integrazione con Perfecto: perfecto.sh, configFile.json e build.gradle.

Aggiungi Perfecto al tuo XCUI Test

Configurazione

Nota: Tutti e tre i file si aspettano di essere nella radice del tuo progetto.

  1. Crea uno script shell, per orchestrare l'esecuzione dei test sulla piattaforma di Perfecto. Assicurati di modificare i valori per APP_LOCATION, APP_NAME e CLOUDNAME in modo che corrispondano alla tua applicazione e al tuo cloud 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
  2. Aggiungi il tuo file Gradle, build.gradle. Assicurati di aggiornare l'ultima sezione per farla corrispondere ai valori della tua applicazione.

    // 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" 
            }
        }
    }
  3. Aggiungi il file JSON di configurazione di Perfecto e controlla che i valori cloudURL, securityToken, appPath, testAppPath e deviceName corrispondano alla tua autenticazione Perfecto, applicazione e UUID di dispositivo reale disponibile.

    Il build.gradle sopra sta cercando un file di configurazione chiamato configFile.json - assicurati di aggiornarlo se usi un nome diverso.

    {
      "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"
    }

Esegui

Una volta impostato il progetto, esegui lo script shell per eseguire un test sul tuo cloud Perfecto.

Verifica in locale:

  1. Apri il tuo progetto nel Terminale.
  2. Digita sh perfecto.sh e premi invio.
  3. Apri l'Analisi dei Test del tuo Cloud Perfecto per controllare il tuo ultimo rapporto.