Executar um script Robo (iOS+)
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Neste documento, descrevemos como usar o recurso scripts Robo na
automatização de tarefas manuais de controle de qualidade de apps para dispositivos móveis. Eles permitem estratégias de teste de integração contínua
(CI) e de pré-lançamento. Por exemplo, é possível usar scripts
Robo para testar uma jornada do usuário comum ou fornecer uma entrada de interface do usuário (IU)
específica, como um nome de usuário e uma senha. Os scripts Robo são um recurso do
teste Robo.
Os scripts Robo usam o teste Robo
como o mecanismo de teste. Na forma mais básica, um script Robo é uma
sequência de ações de IU, como digite o texto em "Nome do usuário" e,
em seguida, toque no botão "OK". Os scripts Robo também podem incluir ações, como aguardar
a exibição de um elemento, tocar em um ponto específico de um elemento e
executar comandos de shell do Android Debug Bridge (adb
).
Os scripts Robo têm as seguintes vantagens em relação aos frameworks de teste tradicionais:
Capacidade
|
Descrição
|
Altamente robusto
|
Os scripts Robo toleram diferenças estruturais e comportamentais
significativas entre as versões e a inconsistência do app.
|
Resposta aberta
|
Após a conclusão de um script Robo, o teste Robo básico pode assumir o controle e
continuar testando o app. Essa abordagem de teste contínuo permite
vários casos de uso importantes. Por exemplo, use um script Robo para levar
um app a um estado específico executando um fluxo de login personalizado.
|
Pode ser gravado
|
Você não precisa codificar os scripts Robo manualmente. Eles podem ser gravados usando
o Gravador de script Robo no Android Studio. A criação ou modificação de scripts Robo
normalmente não requer nenhum conhecimento sobre desenvolvimento para dispositivos móveis.
|
Flexível
|
Os scripts Robo podem interagir com elementos da IU não nativos que são comuns
em jogos.
|
Os scripts Robo são acionados condicionalmente durante um teste Robo, permitindo que os usuários
aprimorem o comportamento do Robo, geralmente para ter uma cobertura maior ou
para uma funcionalidade específica. Ao contrário dos frameworks de teste tradicionais,
os scripts Robo oferecem suporte a:
- Várias condições de acionamento, por exemplo, o nome de um pacote de app em particular
estar ativo (ou não) ou um elemento específico
ser mostrado na tela (ou não).
- Controles de execução, por exemplo, um número máximo de execuções, prioridade e
estágio de rastreamento relevante.
- Tipos de ação não convencionais (condicionais, que ignoram elementos ou que fecham telas).
Recomendamos que você use scripts Robo sempre que possível, porque eles podem ser
mantidos facilmente. Por exemplo, use um script Robo
e:
- Navegue por fluxos de trabalho significativos para realizar a funcionalidade principal de um app.
Por exemplo, você pode fazer login, configurar o estado de um app após a
primeira inicialização e registrar um novo usuário.
- Mantenha o foco do Robo em uma parte específica de um app para aproveitar ao máximo o tempo do Teste
Robo. O script Robo orienta o teste Robo para alcançar a parte relevante de um app,
em que o teste Robo retoma um rastreamento totalmente automatizado.
- Leve um app para um estado ou uma tela específicos para analisar, por
exemplo, uma mensagem, uma Política de Privacidade ou um nível específico
de um jogo.
- Realize um teste de instrumentação completo, com ou sem
a retomada pelo teste Robo de um rastreamento totalmente automatizado após a conclusão do script Robo.
Use os recursos mais avançados do script Robo para fazer o seguinte:
- Realizar ações antes que o Robo comece a rastrear o app em teste ou após a
conclusão do rastreamento, como limpar os dados do app em teste antes de um
rastreamento ou alterar as configurações do dispositivo.
- Alterar aspectos do comportamento Robo durante um rastreamento, especificamente:
- Fazer o Robo ignorar alguns widgets de IU ou telas do app.
- Fornecer uma ação personalizada para o Robo executar ao fazer o retorno a partir de uma
tela específica.
- Fazer com que o Robo execute ações específicas sempre que uma tela específica de um app for
encontrada durante o rastreamento.
- Personalizar totalmente a forma de rastreamento do Robo. Por exemplo, você pode usar uma
combinação de ações condicionais e não condicionais para manter o
app em teste no segundo plano durante o rastreamento, executando
manipulações de dispositivo e descartando as caixas de diálogo pop-up que forem exibidas.
Nem todos os tipos de testes são substituídos pelos scripts Robo. Você ainda vai precisar
executar os testes de unidade para capturar bugs lógicos de nível inferior no seu app. Esses testes
normalmente não exigem um ambiente Android ou iOS. Recomendamos que você
adicione os testes de script Robo aos testes de instrumentação segmentados que podem ter
declarações específicas e detalhadas sobre a lógica de negócios e que são expressas de melhor forma
no código.
Próximas etapas
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-16 UTC.
[null,null,["Última atualização 2025-08-16 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis document describes how to use *Robo scripts* , which are tests that automate\nmanual QA tasks for mobile apps, and enable continuous integration (CI) and\npre-launch testing strategies. For example, you can use Robo scripts to test a\ncommon user journey or provide specific user interface (UI) input, like a\nusername and password. Robo scripts are a feature of [Robo\ntest](/docs/test-lab/ios/robo-ux-test).\n\nRobo scripts use [Robo test](/docs/test-lab/android/robo-ux-test)\nas the test engine. In its most basic form, a Robo script consists of a\nsequence of UI actions like *enter text 'username'* and\nthen *tap the OK button* . Robo scripts can also include actions like waiting\nfor an element to appear, tapping at a specific point within an element, and\nexecuting Android Debug Bridge (`adb`) shell commands.\n\nRobo scripts have the following advantages over traditional testing frameworks:\n\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Capability** | **Description** |\n| Highly robust | Robo scripts can tolerate significant structural and behavioral differences between app versions and app flakiness. |\n| Open-ended | After a Robo script completes, the base Robo test can take over and continue testing the app. This continued testing approach enables several key use cases. For example, you can use a Robo script to bring an app into a particular state by performing a custom sign-in flow. |\n| Recordable | You don't need to code Robo scripts manually. They can be recorded using the Robo script recorder in Android Studio. Creating or modifying Robo scripts typically doesn't require any knowledge of mobile development. |\n| Flexible | Robo scripts can interact with non-native UI elements that are common in games. |\n\nRobo scripts are conditionally triggered during a Robo test, which lets users\naugment Robo's behavior - typically to achieve greater coverage or target\nspecific functionality. In contrast to traditional testing frameworks,\nRobo scripts support the following:\n\n- Various triggering conditions, for example, a particular app package name being active (or not) or a specific element being displayed on the screen (or not).\n- Execution controls, for example, a maximum number of executions, priority, relevant crawl stage.\n- Unconventional action types (conditional, element-ignoring, screen-closing).\n\nWe recommend that you use Robo scripts whenever possible because they can be\nmaintained effortlessly. For example, you can use a Robo script to do the\nfollowing:\n\n- Navigate significant workflows to get to the core of an app's functionality. For example, you can perform a sign-in, set up an app's state after the first launch, and register a new user.\n- Focus Robo on a particular part of an app to get the most out of Robo test time. Robo script guides Robo test to reach the relevant part of an app, where Robo test resumes a fully automated crawl.\n- Bring an app into a specific state or screen to perform an analysis, for example, to analyze an in-app message, privacy policy, or specific level of a game.\n- Perform an end-to-end instrumentation test, with or without Robo test resuming a fully automated crawl after the Robo script is complete.\n\nUse more advanced Robo script features to do the following:\n\n- Perform actions before Robo starts crawling the app-under-test or after a crawl is finished, for example, clean the app-under-test data before a crawl, or change device settings.\n- Change aspects of Robo behavior during a crawl, in particular:\n - Make Robo ignore some UI widgets or app screens.\n - Provide a custom action for Robo to perform when backtracking from a particular screen.\n - Make Robo perform specific actions whenever a particular app screen is encountered during a crawl.\n- Completely customize how Robo performs a crawl. For example, use a combination of conditional and non-conditional actions to keep the app-under-test in the background throughout the crawl, while performing device manipulations and dismissing any popup dialogs that appear along the way.\n\nKeep in mind that Robo scripts don't replace all kinds of tests. You still\nneed unit tests to catch low-level logic bugs in your app; these tests\ntypically don't require an Android or iOS environment. We recommend that you\nsupplement Robo script tests with targeted instrumentation tests that can have\nspecific, detailed assertions about business logic, which are best expressed\nin code.\n\nNext steps\n\n- To learn about Robo scripts structure, capabilities, usage, and actions, see\n the [Robo scripts reference guide](/docs/test-lab/android/robo-scripts-reference#ios-support-for-robo-scripts).\n\n- [Run a Robo test](/docs/test-lab/ios/robo-ux-test)."]]