## Criar Sessão Appium Para executar os testes, é preciso criar uma sessão no Driver com as capacidades desejadas. **Parâmetros JSON** | Nome | Tipo | Descrição | | :------------------ | :------------- | :------------------------------------------------------------------------ | | desiredCapabilities | Object | Objeto que descreve os recursos desejados da sessão | | requiredCapabilities | Object | Objeto que descreve os recursos necessários da sessão que devem ser aplicados por extremidade remota | | capacidades | Object | Object contendo propriedades 'alwaysMatch' e 'firstMatch' | | capabilities.alwaysMatch | Object | Define os recursos desejados que a extremidade remota deve corresponder | | capabilities.firstMatch | array | Lista de recursos que o terminal remoto tenta corresponder. Corresponde ao primeiro da lista | **Exemplo:** ``` DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10.3"); desiredCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone Simulator"); desiredCapabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest"); desiredCapabilities.setCapability(MobileCapabilityType.APP, "/path/to/ios/app.zip"); URL url = new URL("http://127.0.0.1:4723/wd/hub"); IOSDriver driver = new IOSDriver(url, desiredCapabilities); String sessionId = driver.getSessionId().toString(); ``` ## Finalizar Sessão Appium Para terminar a sessão em execução, use o comando: ``` driver.quit(); ``` ## Capturar Tela Faz uma captura de tela da janela de visualização em um contexto nativo (iOS, Android). Sendo que, o recurso Android FLAG_SECURE esteja inserido na aplicação, a captura de tela será impedida. ``` File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); ``` ## Recuperar Configuração do Dispositvo Para recuperar, utilize: ``` Map settings = driver.getSettings(); ``` ## Esperas Para configurar a quantidade de tempo que um determinado tipo de operação pode executar antes de serem cancelados, utilize: ``` driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); ``` Para configuarar a quantidade de tempo que o driver deve aguardar ao procurar elementos, utilize: ``` driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); ``` [Clique aqui para voltar ←](https://git.rarolabs.com.br/snippets/30) #### Referência Site Oficial Appium. Disponível em: . Acesso em: 17 de março de 2019.