As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Migrando seus ambientes de teste personalizados para os novos hosts de teste do iOS
Para migrar os testes existentes do host legado para o novo host de teste do macOS, você precisará desenvolver novos arquivos de especificação de teste com base nos arquivos preexistentes.
A abordagem recomendada é começar com o exemplo de arquivo de especificação de teste para os tipos de teste desejados e, em seguida, migrar os comandos relevantes do arquivo de especificação de teste antigo para o novo. Isso permite que você aproveite novos recursos e otimizações da especificação de teste de exemplo para o novo host enquanto reutiliza trechos do código existente.
Tópicos
Tutorial: migrando arquivos de especificações de teste do iOS com o console
Neste exemplo, o console Device Farm será usado para integrar uma especificação de teste de dispositivo iOS existente para usar o novo host de teste.
Etapa 1: Criar novos arquivos de especificação de teste com o console
-
Faça login no console do AWS Device Farm
. -
Navegue até o projeto do Device Farm que contém seus testes de automação.
-
Faça o download de uma cópia da especificação de teste existente com a qual você deseja integrar.
-
Clique na opção “Configurações do projeto” e navegue até a guia Uploads.
-
Navegue até o arquivo de especificação de teste com o qual você deseja integrar.
-
Clique no botão Download para fazer uma cópia local desse arquivo.
-
-
Navegue de volta para a página do projeto e clique em Criar execução.
-
Preencha as opções no assistente como se fosse iniciar uma nova execução, mas pare na opção Selecionar especificação de teste.
-
Usando a especificação de teste do iOS selecionada por padrão, clique no botão Criar uma especificação de teste.
-
Modifique a especificação do teste que foi selecionada por padrão no editor de texto.
-
Se ainda não estiver presente, modifique o arquivo de especificação de teste para selecionar o novo host usando:
ios_test_host: macos_sequoia -
A partir da cópia de sua especificação de teste baixada em uma etapa anterior, revise cada
phaseuma. -
Copie comandos das fases da especificação de teste antiga para cada fase respectiva na nova especificação de teste, ignorando os comandos relacionados à instalação ou seleção de Java, Python, Node.js, Ruby, Appium ou Xcode.
-
-
Insira um novo nome de arquivo na caixa de texto Salvar como.
-
Clique no botão Salvar como novo para salvar suas alterações.
Para ver um exemplo de um arquivo de especificação de teste que você pode usar como referência, consulte o exemplo fornecido emExemplos de especificações de teste.
Etapa 2: Selecionar software pré-instalado
No novo host de teste, as versões pré-instaladas do software são selecionadas usando uma nova ferramenta padronizada de gerenciamento de versões chamada. devicefarm-cli Agora, esse conjunto de ferramentas é a abordagem recomendada para usar os vários softwares que fornecemos nos hosts de teste.
Como exemplo, você adicionaria a seguinte linha para usar um JDK 17 diferente em seu ambiente de teste:
- devicefarm-cli use java 17
Para obter mais informações sobre o software suportado disponível, revise:Software compatível em ambientes de teste personalizados.
Etapa 3: Usando o Appium e suas dependências por meio das ferramentas de seleção de software
O novo host de teste suporta apenas o Appium 2.x e superior. Selecione explicitamente a versão do Appium usando odevicefarm-cli, enquanto remove ferramentas legadas, como.
avm Por exemplo:
# This line using 'avm' should be removed # - avm 2.3.1 # And the following lines should be added - devicefarm-cli use appium 2 # Selects the version - appium --version # Prints the version
A versão do Appium selecionada devicefarm-cli vem pré-instalada com uma versão compatível do driver XCUITest para iOS.
Além disso, você precisará atualizar sua especificação de teste para usar
DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9 em vez de
DEVICEFARM_WDA_DERIVED_DATA_PATH. A nova variável de ambiente aponta para uma versão pré-construída da WebDriverAgent 9.x, que é a versão mais recente compatível com os testes do Appium 2.
Para obter mais informações, revise Seleção de uma WebDriverAgent versão para testes do iOS Variáveis de ambiente para testes Appium e.
Diferenças entre os hosts de teste novos e os antigos
Ao editar seu arquivo de especificação de teste para usar o novo host de teste do iOS e fazer a transição dos testes do host de teste legado, esteja ciente dessas principais diferenças de ambiente:
-
Versões do Xcode: no ambiente antigo do host de teste, a versão do Xcode disponível foi baseada na versão iOS do dispositivo usado para testes. Por exemplo, testes em dispositivos iOS 18 usaram o Xcode 16 no host legado, enquanto os testes no iOS 17 usaram o Xcode 15. No novo ambiente host, todos os dispositivos podem acessar as mesmas versões do Xcode, permitindo um ambiente consistente para testes em dispositivos com versões diferentes. Para obter uma lista das versões do Xcode atualmente disponíveis, consulteSoftware compatível.
-
Seleção de versões de software: em muitos casos, as versões padrão do software foram alteradas. Portanto, se você não estava selecionando explicitamente sua versão de software no host de teste legado antes, talvez queira especificá-la agora no novo host de teste usando devicefarm-cli. Na grande maioria dos casos de uso, recomendamos que os clientes selecionem explicitamente as versões do software que usam. Ao selecionar uma versão de software,
devicefarm-clivocê terá uma experiência previsível e consistente com ela e receberá muitos avisos se a Device Farm planejar remover essa versão do host de teste.Além disso, ferramentas de seleção de software como
nvm,pyenv,avmervmforam removidas em favor do novo sistema de seleção de softwaredevicefarm-cli. -
Versões de software disponíveis: muitas versões do software pré-instalado anteriormente foram removidas e muitas novas versões foram adicionadas. Portanto, ao usar a
devicefarm-clipara selecionar suas versões de software, você deve selecionar as versões que estão na lista de versões compatíveis. -
O
libimobiledeviceconjunto de ferramentas foi removido em favor de ferramentas mais novas/originais para monitorar os testes atuais de dispositivos iOS e os padrões do setor. Para o iOS 17 e versões posteriores, você pode migrar a maioria dos comandos para usar ferramentas semelhantes do Xcode, chamadas.devicectlPara obter informações sobredevicectl, você pode executarxcrun devicectl helpa partir de uma máquina com o Xcode instalado. -
Os caminhos de arquivo codificados no arquivo de especificação de teste do host legado como caminhos absolutos provavelmente não funcionarão conforme o esperado no novo host de teste e geralmente não são recomendados para o uso do arquivo de especificação de teste. Recomendamos que você use caminhos relativos e variáveis de ambiente para todo o código do arquivo de especificação de teste. Para obter mais informações, consulte o tópico emPráticas recomendadas para execução de ambientes de teste personalizados.
-
Versão e arquitetura do sistema operacional: os hosts de teste antigos estavam usando uma variedade de versões do macOS e arquiteturas de CPU com base no dispositivo atribuído. Como resultado, os usuários podem notar algumas diferenças nas bibliotecas de sistema disponíveis no ambiente. Para obter mais informações sobre a versão anterior do sistema operacional host, reviseHost de teste iOS antigo.
-
Para usuários do Appium, a forma de selecionar o WebDriverAgent mudou para um prefixo de variável de ambiente de uso
DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_Vem vez do prefixo antigo.DEVICEFARM_WDA_DERIVED_DATA_PATH_VPara obter mais informações sobre a variável atualizada, reviseVariáveis de ambiente para testes Appium. -
Para usuários do Appium Java, o novo host de teste não contém nenhum arquivo JAR pré-instalado em seu caminho de classe, enquanto o host anterior continha um para a estrutura TestNG (por meio de uma variável de ambiente).
$DEVICEFARM_TESTNG_JARRecomendamos que os clientes empacotem os arquivos JAR necessários para suas estruturas de teste dentro do pacote de teste e removam instâncias da variável$DEVICEFARM_TESTNG_JARde seus arquivos de especificação de teste.
Recomendamos que entre em contato com a equipe de serviço por meio de um caso de suporte se tiver algum feedback ou dúvida sobre as diferenças entre os hosts de teste do ponto de vista do software.