Appium Capacidades desejadas para Android Emulador [Exemplo]

Este tutorial irá ajudá-lo a entender a ferramenta de automação APPIUM. Ele cobrirá os recursos desejados e os usos do APPIUM com Maven.

Neste tutorial, você aprenderá

Quais são as capacidades desejadas

'Capacidades Desejadas' nos ajudam a modificar o comportamento do servidor durante a Automação. Em Appium, é um tipo de hashmap ou par chave-valor, usado para enviar um comando ao servidor APPIUM. No APPIUM, todos os comandos do cliente são executados no contexto de uma sessão.

Por exemplo, um cliente enviou uma solicitação POST/sessão contendo o objeto JSON para o servidor APPIUM.

Assim, para enviar qualquer solicitação desejada ou para manter qualquer sessão desejada com o servidor, é utilizado um conjunto de pares de chave e valor. Isso é conhecido como 'Capacidades desejadas.'

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
{
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","Android Emulator");
        capabilities.setCapability("platformVersion", "4.4");
}

Papel importante da capacidade desejada

  • 'DesiredCapabilities' ajuda o usuário a controlar a solicitação de sessão com o servidor. Por exemplo, se quisermos uma sessão iOS, podemos definir Capability como PlatformName = iOS. Ou se quisermos Android session, então podemos definir Capability como PlatformName = Android.
  • 'DesiredCapabilities' são usados ​​para configurar a instância do Webdriver, por exemplo: FirefoxDriver, ChromeDriver, InternetExplorerDriver etc.
  • DesiredCapability é muito útil para Selenium Grade. Ex: É usado para acessar diferentes casos de teste em um navegador e sistema operacional diferentes. Com base na grade DesiredCapability mencionada, o hub apontará para o nó correspondente. Aqui, esses nós são definidos usando o método de propriedade 'set', por exemplo: -
    DesiredCapabilities obj = new DesiredCapabilities(); 
    obj.setBrowserName("firefox"); 
    obj.setVersion("18.0.1"); 
    obj.setPlatform(org.openqa.selenium.Platform.WINDOWS);					
    
  • Um recurso desejado é um pacote definido pela biblioteca. Antes de usar 'DesiredCapabilities', ele deve ser importado da biblioteca mencionada abaixo
    Org.openqa.selenium.remote.DesiredCapabilities

O APPIUM oferece suporte a ambos Android e iOS. Portanto, há um conjunto separado de Appium capacidades do servidor.

A tabela abaixo mostra alguns comumente usados Android capacidades e seu valor para uso-

Capacidades Descrição Valores/Usos
appPacote Chamada desejada Java pacote no Android que o usuário deseja executar Valor = com.example.myapp/

Obj.setCapability(“appPackage”, “com.whatsapp”);

atividade do aplicativo Atividade do aplicativo que o usuário deseja iniciar a partir do pacote. Valor = MainActivity, .Settings

Obj.setCapability(“appActivity”, “com.whatsapp.Main”);

appWaitPackage Pacote do qual o aplicativo precisa esperar Valor=com.example.android.myapp
appWaitActivity Qualquer Android atividade que o usuário precisa de tempo de espera Valor = SplashActivity

capacidades.setCapability (“appWaitActivity”, “com.example.game.SplashActivity”)

NOTA– Consulte este link 'https://appium.io/docs/en/2.0/'para ver mais Android Capacidades

A tabela abaixo descreve alguns recursos do iOS comumente usados ​​​​e seu valor de uso-

Capacidades Descrição Valores
Tempo limite de lançamento Tempo total (em ms) de espera pela instrumentação. 2000
VOCE FEZ Para identificar o número exclusivo do dispositivo físico conectado 166aestu4

NOTA- Consulte este link 'https://appium.io/docs/en/2.0/guides/caps/'para ver mais recursos do iOS

Extraindo informações de pacotes e atividades

Os pacotes estão relacionados a arquivos ou classes agrupados. Dá uma estrutura organizada à programação modular. Em Java, diferentes pacotes são armazenados em um único arquivo Jar. O usuário pode facilmente chamar o arquivo jar para execução completa. Conceitos semelhantes seguidos no mundo do desenvolvimento de aplicativos móveis.

In Android sistema operacional, todos os aplicativos são instalados na forma de pacotes JAVA. Portanto, para extrair informações do caminho dos pacotes, Android A classe PackageManager é usada.

Ele recupera informações de pacotes e atividades de aplicativos pré e pós-instalados. Está instalado em Android dispositivos.

Você pode obter uma instância da classe PackageManager chamando getPackageManager().

Este método pode acessar e manipular os pacotes e permissões relacionadas dos aplicativos instalados.

Por exemplo -

PackageManager pManager = getPackageManager();
List<ApplicationInfo> list = pManager.getInstalledApplications(PackageManager.GET_META_DATA)

Resumo

  • O recurso desejado sempre é executado no par chave-valor para enviar o comando ao APPIUM Server.
  • Use a classe 'PackageManager' para extrair informações do aplicativo em Android.