Como funciona: Forma resumida
Appium é um server de API Rest. Ele recebe comandos de um código de qualquer dos tipos de linguagem de programação suportadas(são muitas), interpreta estes comandos e executa nos dispositivo(Aplicativo). E no final é recebida uma resposta HTTP referenciando se foi executado com sucesso ou não
Capabilities
São capacidades que informamos e são enviadas para o Appium para que ele possa iniciar uma sessão com estas capacidade ou seja, se eu quiser que ele inicie a sessão com capacidade de execução no navegador do celular tenho que passar capabilities do browser e é nas capabilities que informamos versão do android ou ios, qual celular
Sessão
Como mencionado acima o Appium inicia uma sessão essa sessão inicia via Post/session com os objetos JSON das Capabilities informadas (Desired Capabilities) e consequentemente ele gera um ID.
Como primeiro passo vamos definir nossas Capabilities, para que nosso código possa ser interpretado e a automação possa ser realizada.
Exemplo de código com as Capabilities package appiumDriver; import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.ios.IOSDriver; import io.appium.java_client.pagefactory.AppiumFieldDecorator; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.support.PageFactory; import platformBase.ConfigManager; import platformBase.locators.LocatorsBase; import platformbase.ConfigManager; import platformbase.locators.LocatorBase; import java.io.File; import java.io.IOException; import java.net.URL; import java.util.concurrent.TimeUnit; /** * Created by Mobile Quality Engineer: luizlohn on 6/3/16. */ public class DriverFactory { private static AppiumDriver instance; private static void initializeAndroid() { try { File app = new File(ConfigManager.getApkName()); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium"); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); capabilities.setCapability(MobileCapabilityType.VERSION, 6.0); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, AndroidQuaTest); capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); instance = new AndroidDriver(new URL(ConfigManager.getUrlFull()), capabilities); instance.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); } catch (java.io.IOException e) { throw new RuntimeException(e); } } } [/code]
More from Mobile
Criando projeto de automação de testes mobile – Parte 2
Vamos iniciar a segunda parte, então começaremos por editar o arquivo env.rb, este arquivo é carregado primeiramente quando rodarmos os …
Criando projeto de automação de testes mobile – Parte 1
Bom, vamos iniciar uma série de publicações sobre automação de testes mobile, vamos discutir sobre frameworks, linguagens, device farms e …
Automação de testes Mobile com Kobiton (Appium)
Sim Kobiton, é uma nova plataforma free para testes em dispositivos reais, sim está em fase beta e é free, …