Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Appium 2.0 - deeplink not working

Abierto
#1,955 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 5 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
android, java
Área
mobile

Línea de trabajo

Comienza con la ruta de ejecución de mobile: deepLink y compárala con mobile: shell y los enfoques directos de ADB descritos en el issue. Reproduce el problema en Android 12 con Appium 2.0.0-rc.3 y Java client 8.5.1, utilizando los logs proporcionados para identificar el fallo. Se considera terminado cuando el deep link navega a la pantalla esperada o el issue se ha acotado a una limitación documentada de la plataforma o del driver.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

Not Able to navigate to deeplink, where the same code was working proper in Appium1.x
I am using mobile command mobile: deepLink for deepLink navigation and below is the code

Environment

  • Java client build version: 8.5.1
  • Appium Version: 2.0.0-rc.3
  • Node.js version: v14.18.0
  • Mobile platform/version: Android 12
  • Real device: Moto G20 Fusion

Details

Also tried below two approaches, with these also not able to navigate to the screen.

Approach - 2
  protected void navigateToScreenUsingDeepLink_2(final String argsDeepLink, final String argsPkgName) {
	Map<String, Object> args = new HashMap<>();
        args.put("command", "am");
        args.put("args", "start -W -a android.intent.action.VIEW -d \"" + argsDeepLink + "\" " + argsPkgName + "");
        args.put("timeout", 30000);
        args.put("includeStderr", true);
        Map<String, Object> result = (Map<String, Object>) getBaseDriver().executeScript("mobile: shell", args);
        log.info("DEEP-LINK STATUS " + result);
 }

### Approach - 3

protected void navigateToScreenUsingDeepLink_2(final String argsDeepLink, final String argsPkgName) {
	try {
            Process process = Runtime.getRuntime().exec("cmd /c adb shell am start -W -a android.intent.action.VIEW -d \"" + argsDeepLink + "\" " + argsPkgName + "");
            int processComplete = process.waitFor();
            if (processComplete != 0) {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
                String strError;
                while ((strError = bufferedReader.readLine()) != null) {
                    log.error("Error: " + strError);
                }
            }
	} catch (IOException | InterruptedException e) {
		throw new RuntimeException(e);
	}
 }

Code To Reproduce Issue [ Good To Have ]

 protected void navigateToScreenUsingDeepLink_1(final String argsDeepLink, final String argsPkgName) {
	HashMap<String, Object> map = new HashMap<>();
	map.put("url", argsDeepLink);
	map.put("package", argsPkgName);
	map.put("waitForLaunch", true);
	Map<String, Object> result = (Map<String, Object>) getBaseDriver().executeScript("mobile: deepLink", map);
	log.info("DEEP LINK RESULT " + result);
 }

Exception Stacktraces

2023-06-30 08:56:46:077 [HTTP] {"script":"mobile: deepLink","args":[{"url":"https://rblDemo.page.link/qL6j","waitForLaunch":true,"package":"com.app.demo.uat"}]}
2023-06-30 08:56:46:078 [AndroidUiautomator2Driver@f92c (e7aed20b)] Calling AppiumDriver.execute() with args: ["mobile: deepLink",[{"url":"https://rblDemo.page.link/qL6j","waitForLaunch":true,"package":"com.app.demo.uat"}],"e7aed20b-2a49-48b7-9481-1bb0914b53d4"]
2023-06-30 08:56:46:078 [AppiumDriver@e57e] Plugins which can handle cmd 'execute': images
2023-06-30 08:56:46:078 [AppiumDriver@e57e] Plugin images is now handling cmd 'execute'
2023-06-30 08:56:46:079 [AppiumDriver@e57e] Executing default handling behavior for command 'execute'
2023-06-30 08:56:46:079 [AndroidUiautomator2Driver@f92c (e7aed20b)] Executing native command 'mobile: deepLink'
2023-06-30 08:56:46:080 [ADB] Running 'D:\Software_Installed\Android\Sdk\platform-tools\adb.exe -P 5037 -s ZD2222ZKDN shell am start -W -a android.intent.action.VIEW -d https://rblDemo.page.link/qL6j com.app.demo.uat'
2023-06-30 08:56:46:631 [AndroidUiautomator2Driver@f92c (e7aed20b)] Responding to client with driver.execute() result: null
2023-06-30 08:56:46:632 [HTTP] <-- POST /wd/hub/session/e7aed20b-2a49-48b7-9481-1bb0914b53d4/execute/sync 200 555 ms - 14

Link To Appium Logs

Detailed Log: https://gist.github.com/dipakkumar1225/850f4334ce61cda6a5fbc68fb8972fd6

Lenguaje dominante
Java
Estrellas
1.3k
Forks
755
Merge medio
5 d 14 h
PR fusionados (30 d)
8

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de appium/java-client

Todos los issues de appium/java-client

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.