Perfecto com 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

Teste seu aplicativo iOS para problemas de acessibilidade em dispositivos do Perfecto.

Not for use with personal data

Execute seus testes de interface de usuário no Perfecto para obter uma compreensão abrangente da saúde de acessibilidade do seu aplicativo em diversos dispositivos.

Requisitos:

  • Perfecto Enterprise Private Cloud

Pré-requisitos

  1. Seus testes de interface de usuário estão integrados com o axe DevTools Mobile para iOS. Confira nosso guia de introdução se necessário.
  2. Prepare seu aplicativo para distribuição. Como você estará testando no Perfecto com dispositivos reais, ter o aplicativo e os alvos de teste de interface de usuário provisionados resulta em um processo mais suave.
  3. Instale o Gradle.

Projeto de Exemplo

Procurando um exemplo? Nosso Projeto iOS de Amostra tem uma integração pronta para teste.

  1. Verifique se você possui os pré-requisitos.

  2. Baixe o projeto de amostra do Github

  3. Abra o arquivo do projeto Xcode para adicionar sua equipe de desenvolvimento aos alvos do aplicativo e UITest para provisionamento

  4. Adicione sua chave de API do axe DevTools para Mobile para Login.swift

  5. Ajuste os valores nos locais a seguir para corresponder à sua nuvem Perfecto:

    • perfecto.sh
    CLOUDNAME="<<perfecto-cloud-name>>"
    • configFile.json - Revise os valores cloudURL, securityToken, e deviceName:
    {
      "cloudURL": "<<perfecto-cloud-name>>",
      "securityToken": "<<security-token>>",
      ...
      "devices": [
        {
          "deviceName": "00005302-BF389EDED8B22DBD"
        }
      ],
      ...
    }
  6. Abra uma janela do Terminal, digite cd , e então arraste e solte o axe-devtools-ios-sample-app do Finder na janela do Terminal. Tecle return/enter.

  7. Na mesma janela, digite sh perfecto.sh. Tecle return/enter.

Há três arquivos no projeto de amostra usados para a integração com Perfecto: perfecto.sh, configFile.json, e build.gradle.

Adicione Perfecto ao Seu Teste XCUI

Configuração

Nota: Todos os três arquivos devem estar na raiz do seu projeto.

  1. Crie um script shell para orquestrar a execução de testes na plataforma do Perfecto. Certifique-se de ajustar os valores para APP_LOCATION, APP_NAME e CLOUDNAME para corresponder à sua aplicação e nuvem 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. Adicione seu arquivo Gradle, build.gradle. Certifique-se de atualizar a última seção para corresponder aos valores da sua aplicação.

    // 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. Adicione a configuração JSON do Perfecto e revise os valores cloudURL, securityToken, appPath, testAppPath e deviceName para corresponder à sua autenticação Perfecto, aplicação e UUID de dispositivo real disponível.

    O acima build.gradle está procurando por um arquivo de configuração chamado configFile.json - certifique-se de atualizá-lo se você usar um nome diferente.

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

Executar

Uma vez que seu projeto esteja configurado, execute o script shell para realizar um teste na sua nuvem Perfecto.

Verifique localmente:

  1. Abra seu projeto no Terminal.
  2. Digite sh perfecto.sh e pressione enter.
  3. Abra a Análise de Teste da sua Nuvem Perfecto para verificar seu último relatório.