Vamos discutir como usar Métodos Appium neste Tutorial Appium. Appium é um invólucro em cima de Selênio webDriver. Todos os métodos Selenium já estão presentes no Appium. Além disso, o Appium fornece um bom número de maneiras de interagir com aplicativos nativos.
Como usar o código pressKey usando métodos Appium?
public void pressKeyCode(código AndroidKey) { \tandroidDriver.pressKey(novo KeyEvent(código)); \t} Aqui você pode passar keyEvent como AndroidKey.ENTER para entrar ou AndroidKey.BACK para tocar sobre botão Voltar Da mesma forma, os usuários podem usar isso para pressionamentos longos de teclas, como: public void longPressKeyCode(código AndroidKey) { \tandroidDriver.longPressKey(novo KeyEvent(código)); \t}
Como obter a atividade atual usando os comandos Appium?
Para obter a atividade atual, podemos usar o método Activity atual. Por exemplo: public String atividadeAtual() { \treturn androidDriver.currentActivity(); \t}
Como funciona o dobrador de carta de canal para verificar se o aplicativo está instalado ou não?
Para verificar se o aplicativo está instalado ou não, podemos usar: public boolean isAppInstalled(String bundleId) { return androidDriver .isAppInstalled(bundleId); }
Como iniciar a atividade no Android usando métodos Appium?
Siga o método abaixo para iniciar a atividade: public void startActivity(String packageName, String atividade) { tentar { androidDriver.startActivity(nova atividade(nomedopacote, atividade)); } catch (Exceção e) { \t e.printStackTrace(); }
Como rolar para um texto específico usando métodos Appium?
public MobileElement scrollTo(String texto) { MobileElement textFinder = androidDriver .findElementByAndroidUIAutomator ("novo UiScrollable(novo UiSelector()" + ".resourceId(\\"android:id/lista\\")) .scrollIntoView(" + "new UiSelector().text(\\"" + texto + "\\"));"); \t return textFinder; }
Como esconder o teclado usando métodos Appium?
public void hideKeyboard() { try { androidDriver.hideKeyboard(); } catch (Exception e) { LoggerUtils.error("Exceção no teclado oculto" + e.getMessage()); }
Como obter um diálogo de progresso usando os métodos Appium?
public MobileElement getProgressDialog() { return androidDriver .findElementById ("android:id/progress"); }
Como deslizar para a esquerda usando métodos Appium ??
public void swipeLeft(Por por) { Elemento tMobileElement = (MobileElement) androidDriver.findElement (por); \tint deslocamento = 1; \tPonto p = element.getCenter(); \tLocalização do ponto = element.getLocation(); \tDimensão tamanho = element.getSize(); \tint startX=location.getX() + size.getWidth() - deslocamento; \tint startY=p.getY(); \tint endX=location.getX() + deslocamento; \tnovo TouchAction(androidDriver) .press(PointOption.point(startX, startY)) .waitAction(WaitOptions. waitOptions(java.time .Duração.deMillis(1000))) .moveTo(PointOption.point(endX, startY)) .liberar() .executar(); }
Como deslizar para a direita usando os métodos Appium?
public void swipeRight(Por por) { Elemento tMobileElement = (MobileElement) androidDriver.findElement (por); \tint deslocamento = 1; \tPonto p = element.getCenter(); \tLocalização do ponto = element.getLocation(); \tDimensão tamanho = element.getSize(); \tint startX=location.getX() + deslocamento + 20; \tint startY=p.getY(); \tint endX=location.getX() + size.getWidth() - deslocamento; \tnovo TouchAction(androidDriver) .press(PointOption.point(startX, startY)) .waitAction(WaitOptions. waitOptions(java.time .Duração.deMillis(1000))) .moveTo(PointOption.point(endX, startY)) .liberar() .executar(); }
Como deslizar para cima usando os métodos Appium?
Elemento MobileElement = (MobileElement) androidDriver.findElement (por); \tDimensão tamanho = element.getSize(); \t int endX = (int) (tamanho.altura * 0.70); int startY = (int) (tamanho.altura * 0.30); int startX = (tamanho.largura/2); novo TouchAction (AndroidDriver) .press(PointOption.point(startX, startY)) .waitAction(WaitOptions. waitOptions(java.time .Duração.deMillis(1000))) .moveTo(PointOption.point(endX, startY)) .liberar() .executar(); }
Como deslizar para baixo usando os métodos Appium?
public void swipeDown(Por por){ Elemento tMobileElement = (MobileElement) androidDriver.findElement (por); \tDimensão tamanho = element.getSize(); \tint startY = (int) (tamanho.altura * 0.70); int endY = (int) (tamanho.altura * 0.30); int startX = (tamanho.largura/2); novo TouchAction (AndroidDriver) .press(PointOption.point(startX, startY)) .waitAction(WaitOptions. waitOptions(java.time .Duração.deMillis(1000))) .moveTo(PointOption.point(startX, endY)) .liberar() .executar(); }
Como clicar duas vezes no Appium usando comandos do Appium?
public void doubleClick(Elemento Web) { ação TouchActions = new TouchActions(androidDriver); action.doubleClick(elemento); ação.perform(); }
Como desligar o GPS no Android?
public static void swicthOffGPSConnection(String androidSdkToolPath, String ID de dispositivo) { \ttente { \tRuntime.getRuntime(). exec(androidSdkToolPath + "/adb -s" + ID do dispositivo + "configurações do shell colocam location_providers_allowed seguro ' '"); \t} catch (Exceção e) { \t \t e.printStackTrace(); }
Como ligar o GPS no Android?
public static void swicthONGPSConnection(String androidSdkToolPath, String deviceId) { \ttente { \t Runtime.getRuntime() .exec(androidSdkToolPath + "/adb -s" + deviceId \t\t + "configurações do shell colocam localização segura_providers_allowed gps"); \t} catch (Exceção e) { \t \t e.printStackTrace(); \t} }
Como desligar o Wifi no Android?
public void switchOFFWifiConnection(String androidSdkToolPath,String deviceId) { \t\t tentar { Tempo de execução.getRuntime() .exec(androidSdkToolPath+ "/adb -s"+deviceId +" shell am start -n io.appium.settings/.Settings -e wifi desligado"); } catch (IOException e) { \t\t\t e.printStackTrace(); } }
Como ligar o Wifi no Android?
public void switchONWifiConnection(String androidSdkToolPath,String deviceId) { tentar { Tempo de execução.getRuntime() .exec(androidSdkToolPath + "/adb -s"+deviceId+" shell am start -n io.appium.settings/.Settings -e wifi ligado"); } catch (IOException e) { \t\t\t e.printStackTrace(); } }
Como desligar os dados no Android?
public void switchOFFDataConnection(String androidSdkToolPath,String deviceId) { try { Runtime.getRuntime() .exec(androidSdkToolPath + "/adb -s"+deviceId+" shell am start -n io.appium.settings/.Settings -e data off" ); System.out.println("**************** Wifi desligado *******"); } catch (IOException e) { // TODO bloco catch gerado automaticamente e.printStackTrace(); } }
Como ligar os dados no Android?
public void switchONDataConnection(String androidSdkToolPath,String deviceId) { try { Runtime.getRuntime() .exec(androidSdkToolPath + "/adb -s"+deviceId+" shell am start -n io.appium.settings/.Settings -e data on" ); } catch (IOException e) { // TODO bloco catch gerado automaticamente e.printStackTrace(); } }
Como desinstalar o aplicativo no Android?
public void uninstallTheApp(String androidSdkToolPath, String deviceId, String pkg) { try { Runtime.getRuntime() .exec(androidSdkToolPath + "/adb -s " + deviceId + " uninstall " + pkg); } catch (Exception e) { System.out.println(e); } }
Como alternar o modo de voo no iOS?
public void toggleFlightMode() { \tDimension window = iosDriver. gerenciar().window().getSize(); \ttente { \tint startX = janela.largura / 2; \t\tint startY = janela.height; \t\tint endY = janela.altura / 10; \t\tnovo TouchAction(iosDriver) \t\t.press(PointOption.point(startX, startY)) \t\t.waitAction(WaitOptions \t\t.waitOptions(java.time .Duração.deMillis(1000))) \t\t.moveTo(PointOption \t\t.point(startX, endY)).release().perform();\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t} catch (Exceção e) { \t\tSystem.out.println("\ Não foi possível deslizar para cima.\ "); \t\te.printStackTrace(); \t\t} \t\tMobileElement vôo = null; \t\tif ((voo = iosDriver \t\t\t.findElement(Por \t\t\t.name("Modo Avião"))).isDisplayed()) { \t\t\tflight.click(); \t\t\tnovo TouchAction(iosDriver) \t\t\t\t\t.tap(TapOpções \t\t\t.tapOptions() .withPosition(PointOption \t\t\t.point(window.width / 2, 10))).perform(); \t\t} senão { \t\t\tthrow new RuntimeException("Botão de modo de vôo não encontrado."); \t\t} \t}
Conclusão
Até agora, discutimos sobre o top 20 mais usados Appium métodos. No próximo tópico, vamos escrever sobre que o Appium Inspetor para Android e iOS. Para obter mais detalhes sobre esta seção, consulte este link.
Olá, sou Himadri Das, sou um blogueiro e um contribuidor de código aberto. Tenho cerca de 11 anos de experiência na área de Tecnologia da Informação. Atualmente estou trabalhando em uma empresa Startup como Gerente de Garantia de Qualidade. Tenho experiência prática em Appium, Selenium, QTP, Locust, framework de automação, testes de desempenho, testes funcionais, Java, python, scripts de shell, MySql, Redis, Kafka etc. violão, adoro viajar e adoro assistir críquete e futebol. Se você quiser saber mais sobre mim, visite meu perfil no LinkedIn.