Appium 2.0 - deeplink not working
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Beginne mit dem Ausführungspfad mobile: deepLink und vergleiche ihn mit mobile: shell sowie den direkten ADB-Ansätzen, die im Issue beschrieben sind. Reproduziere das Problem unter Android 12 mit Appium 2.0.0-rc.3 und Java client 8.5.1 und ermittle anhand der bereitgestellten Logs den Fehler. Als erledigt gilt die Aufgabe, wenn der Deep Link zum erwarteten Bildschirm navigiert oder das Issue auf eine dokumentierte Einschränkung der Plattform oder des Treibers eingegrenzt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Java
- Sterne
- 1.3k
- Forks
- 755
- Ø Merge
- 5 T. 14 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus appium/java-client
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
appium/java-client#2426 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
appium/java-client#2372 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
appium/java-client#2368 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
appium/java-client#2341 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
appium/java-client#2323 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in appium/java-client
Ähnliche Issues
-
P2 testing
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
area/core kind/bug status/triage team/core-shared
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
checkstyle/checkstyle#21755 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
spring-projects/spring-integration#11495 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag