Bug: Two extra spaces in capability "systemPort ," makes it bug prone when trying to fetch value for this key. I was fetching this value for "systemPort" without spaces and got null. With space, got right result.
Maintainer antworten meist innerhalb von 5 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java
- Bereich
- mobile-dev
Rechercherichtung
Beginne damit, das Verhalten in der gezeigten freeDevice-Methode zu reproduzieren, indem du AppiumDriver.getCapabilities().getCapability("systemPort") mit der Version vergleichst, die nachgestellte Leerzeichen enthält. Verfolge, wie Capability-Namen zurückgegeben und nachgeschlagen werden; abgeschlossen ist es, wenn der Schlüssel ohne Leerzeichen den Systemport abruft und der gemeldete Capability-Name keine nachgestellten Leerzeichen mehr enthält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The problem
Appium capability "systemPort " has extra spaces in the end. I was trying to fetch this capability based on the key "systemPort " without spaces and was getting null. On careful analysis I saw there were extra spaces after text "systemPort " and with adding those, I could fetch system port.
Below is an example.
[INFO] 2021-10-17 13:26:27,260 AvailableDevices: all available capability names: [app, appPackage, appWaitActivity, automationName, avd, avdArgs, avdLaunchTimeout, avdReadyTimeout, databaseEnabled, desired, deviceApiLevel, deviceManufacturer, deviceModel, deviceName, deviceScreenDensity, deviceScreenSize, deviceUDID, javascriptEnabled, locationContextEnabled, networkConnectionEnabled, pixelRatio, platform, platformName, platformVersion, statBarHeight, systemPort , takesScreenshot, udid, viewportRect, warnings, webStorageEnabled]
Details
While trying to fetch systemPort with extra spaces. results in correct value (see below).
public static void freeDevice(AppiumDriver driver){
Capabilities capabilities = driver.getCapabilities();
log.info("capabilities: {}", capabilities);
log.info("avd: {}", capabilities.getCapability("avd"));
log.info("udid: {}", capabilities.getCapability("udid"));
log.info("systemPort: {}", capabilities.getCapability("systemPort "));
log.info("all available capability names: {}", capabilities.getCapabilityNames());
}
[INFO] 2021-10-17 13:26:27,259 AvailableDevices: avd: Pixel_3_API_31
[INFO] 2021-10-17 13:26:27,259 AvailableDevices: udid: emulator-5554
[INFO] 2021-10-17 13:26:27,259 AvailableDevices: systemPort: 8200
[INFO] 2021-10-17 13:26:27,260 AvailableDevices: all available capability names: [app, appPackage, appWaitActivity, automationName, avd, avdArgs, avdLaunchTimeout, avdReadyTimeout, databaseEnabled, desired, deviceApiLevel, deviceManufacturer, deviceModel, deviceName, deviceScreenDensity, deviceScreenSize, deviceUDID, javascriptEnabled, locationContextEnabled, networkConnectionEnabled, pixelRatio, platform, platformName, platformVersion, statBarHeight, systemPort , takesScreenshot, udid, viewportRect, warnings, webStorageEnabled]
Without these extra spaces in the field "systemPort ", the systemPort is returned as null
Code To Reproduce Issue [ Good To Have ]
Use below method and you can see that when you dont give extra spaces in systemPort, you will get null as returned value.
public static void freeDevice(AppiumDriver driver){
Capabilities capabilities = driver.getCapabilities();
log.info("capabilities: {}", capabilities);
log.info("avd: {}", capabilities.getCapability("avd"));
log.info("udid: {}", capabilities.getCapability("udid"));
log.info("systemPort: {}", capabilities.getCapability("systemPort"));
log.info("all available capability names: {}", capabilities.getCapabilityNames());
}
- 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 5 Tagen
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
appium/java-client#2372 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
appium/java-client#2368 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
appium/java-client#2341 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
appium/java-client#2323 ·
Maintainer antworten meist innerhalb von 5 Tagen
Alle Issues in appium/java-client
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/copilot-sdk#2793 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Unify jpa4 into orm8Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
enhancement good first issue
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100