Los 20 mejores métodos de Appium: guía de uso

Tutorial de Appium
Tutorial de Appium

Discutiremos cómo usar Métodos de Appium en este Tutorial de Appium. Appium es un envoltorio encima de Selenium webDriver. Todos los métodos de Selenium ya están presentes en Appium. Aparte de eso, Appium proporciona una buena cantidad de formas de interactuar con aplicaciones nativas.

¿Cómo utilizar el código pressKey con los métodos de Appium?

 public void pressKeyCode(AndroidKey code) {
	androidDriver.pressKey(new KeyEvent(code));
   	 }
Here you can pass keyEvent like AndroidKey.ENTER to enter or AndroidKey.BACK to tap 
on 
back button Similarly, users can use this for long key presses like:

public void longPressKeyCode(AndroidKey code) {
    	androidDriver.longPressKey(new KeyEvent(code));
        	}

¿Cómo obtener la actividad actual usando los comandos de Appium?

To get the current activity, we can use the current Activity method.
For Example:
public String currentActivity() {
	return androidDriver.currentActivity();
   	 }

¿Como a comprobar si la aplicación está instalada o no?

To check if the app is installed or not we can use:
public boolean isAppInstalled(String bundleId) {
return androidDriver
.isAppInstalled(bundleId);
}

¿Cómo iniciar la actividad en Android usando métodos de Appium?

Please follow the below method to start the activity:
public void startActivity(String packageName, String activity) {
try {
  androidDriver.startActivity(new Activity(packageName, activity));
} catch (Exception e) {
	    e.printStackTrace();
}

¿Cómo desplazarse a un texto en particular usando los métodos de Appium?

public MobileElement scrollTo(String text) {
MobileElement textFinder = androidDriver
.findElementByAndroidUIAutomator
("new UiScrollable(new UiSelector()"
+ ".resourceId(\"android:id/list\"))
.scrollIntoView("
+ "new UiSelector().text(\"" + text + "\"));");
	    return textFinder;
}

¿Cómo ocultar el teclado usando los métodos de Appium?

public void hideKeyboard() {
try {
androidDriver.hideKeyboard();
} catch (Exception e) {
LoggerUtils.error("Exception in hiding keyboard" + e.getMessage());

}

¿Cómo obtener el diálogo de progreso usando los métodos de Appium?

public MobileElement getProgressDialog() {
return androidDriver
.findElementById
("android:id/progress");
}

¿Cómo deslizar hacia la izquierda usando los métodos de Appium?

public void swipeLeft(By by) {
	MobileElement element = (MobileElement) androidDriver.findElement(by);
	int offset = 1;
	Point p = element.getCenter();
	Point location = element.getLocation();
	Dimension size = element.getSize();
	int startX=location.getX() + size.getWidth() - offset;
	int startY=p.getY();
	int endX=location.getX() + offset;
	new TouchAction(androidDriver)
    .press(PointOption.point(startX, startY))
    .waitAction(WaitOptions.
waitOptions(java.time
.Duration.ofMillis(1000)))
    .moveTo(PointOption.point(endX, startY))
    .release()
    .perform();
    }

¿Cómo deslizar el dedo hacia la derecha con los métodos de Appium?

public void swipeRight(By by) {
	MobileElement element = (MobileElement) androidDriver.findElement(by);
	int offset = 1;
	Point p = element.getCenter();
	Point location = element.getLocation();
	Dimension size = element.getSize();
	int startX=location.getX() + offset + 20;
	int startY=p.getY();
	int endX=location.getX() + size.getWidth() - offset;
	new TouchAction(androidDriver)
    .press(PointOption.point(startX, startY))
    .waitAction(WaitOptions.
waitOptions(java.time
.Duration.ofMillis(1000)))
    .moveTo(PointOption.point(endX, startY))
    .release()
    .perform();
    }

¿Cómo deslizar hacia arriba usando los métodos de Appium?

MobileElement element = (MobileElement) androidDriver.findElement(by);
    	Dimension size = element.getSize();
    	 int endX = (int) (size.height * 0.70);
         int startY = (int) (size.height * 0.30);
         int startX = (size.width / 2);
         new TouchAction(androidDriver)
         .press(PointOption.point(startX, startY))
         .waitAction(WaitOptions.
waitOptions(java.time
.Duration.ofMillis(1000)))
         .moveTo(PointOption.point(endX, startY))
         .release()
         .perform();

        
    }

¿Cómo deslizar hacia abajo usando los métodos de Appium?

public void swipeDown(By by){
    	MobileElement element = (MobileElement) androidDriver.findElement(by);
    	Dimension size = element.getSize();
    	int startY = (int) (size.height * 0.70);
        int endY = (int) (size.height * 0.30);
        int startX = (size.width / 2);
        new TouchAction(androidDriver)
        .press(PointOption.point(startX, startY))
        .waitAction(WaitOptions.
waitOptions(java.time
.Duration.ofMillis(1000)))
        .moveTo(PointOption.point(startX, endY))
        .release()
        .perform();
        
    }

¿Cómo hacer doble clic en Appium usando los comandos de Appium?

public void doubleClick(WebElement element) {
TouchActions action = new TouchActions(androidDriver);
action.doubleClick(element);
action.perform();
}

¿Cómo apagar el GPS en Android?

public static void swicthOffGPSConnection(String androidSdkToolPath, String 
deviceId) {

	try {
	    Runtime.getRuntime().
exec(androidSdkToolPath 
+ "/adb -s" + deviceId
+ " shell settings put secure location_providers_allowed ' '");

	} catch (Exception e) {
	    
	    e.printStackTrace();
}

¿Cómo encender el GPS en Android?

public static void swicthONGPSConnection(String androidSdkToolPath, String deviceId) {

	try {
	    Runtime.getRuntime()
.exec(androidSdkToolPath + "/adb -s" + deviceId
		    + " shell settings put secure location_providers_allowed gps ");

	} catch (Exception e) {
	  
	    e.printStackTrace();
	}
    }

¿Cómo apagar Wifi en Android?

public void switchOFFWifiConnection(String androidSdkToolPath,String deviceId) {
		
try {
Runtime.getRuntime()
.exec(androidSdkToolPath+
"/adb -s"+deviceId
+" shell am start -n io.appium.settings/.Settings -e wifi off");
} catch (IOException e) {
			
e.printStackTrace();
}
}

¿Cómo activar Wifi en Android?

public void switchONWifiConnection(String androidSdkToolPath,String deviceId) {
try {
Runtime.getRuntime()
.exec(androidSdkToolPath
+ "/adb -s"+deviceId+" shell am start -n io.appium.settings/.Settings -e wifi on");
} catch (IOException e) {
			
e.printStackTrace();
}
}

¿Cómo desactivar los datos en 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 off *******");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

¿Cómo activar datos en 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 Auto-generated catch block
e.printStackTrace();
}
}

¿Cómo desinstalar la aplicación en 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);
}
}

¿Cómo cambiar el modo de vuelo en iOS?

public void toggleFlightMode() {
	Dimension window = iosDriver.
manage().window().getSize();
	try {
	int startX = window.width / 2;
		int startY = window.height;
		int endY = window.height / 10;
		new TouchAction(iosDriver)
		.press(PointOption.point(startX, startY))
		.waitAction(WaitOptions
		.waitOptions(java.time
.Duration.ofMillis(1000)))
		.moveTo(PointOption
		.point(startX, endY)).release().perform();														
		} catch (Exception e) {
		System.out.println("\nCould not swipe to top.\n");
		e.printStackTrace();
		}
		MobileElement flight = null;
		if ((flight = iosDriver
			.findElement(By
			.name("Airplane Mode"))).isDisplayed()) {
			flight.click();
			new TouchAction(iosDriver)
					.tap(TapOptions
			.tapOptions()
.withPosition(PointOption
			.point(window.width / 2, 10))).perform();
		} else {
			throw new RuntimeException("Flight mode button not found.");
		}
	}

Conclusión

Hasta ahora, hemos hablado sobre los 20 más utilizados Métodos de Appium. En el siguiente tema, escribiremos sobre los Inspector de Appium para Android e iOS. Para obtener más detalles de esta sección, consulte este enlace.

Sobre Himadri Das

Hola, soy Himadri Das, soy bloguero y colaborador de código abierto. Tengo alrededor de 11 años de experiencia en el dominio de las tecnologías de la información. Actualmente trabajo en una Startup Company como Quality Assurance Manager. Tengo experiencia práctica en Appium, Selenium, QTP, Locust, marco de automatización, pruebas de rendimiento, pruebas funcionales, Java, python, scripts de Shell, MySql, Redis, Kafka, etc. Además de mi trabajo y escribir blogs, me encanta jugar. guitarra, me encanta viajar y me encanta ver el cricket y el fútbol. Si quieres saber más sobre mí, visita mi perfil de LinkedIn: https://www.linkedin.com/in/himadri-das-2b6b7421/.

Deja un comentario

Tu dirección de correo electrónico no será publicada.Los campos obligatorios están marcados *