Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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.

未关闭
#1,532 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 5 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
java
领域
mobile-dev

调研方向

首先复现所示 freeDevice 方法中的行为,将 AppiumDriver.getCapabilities().getCapability("systemPort") 与包含尾随空格的版本进行比较。跟踪 capability 名称的返回和查找方式;完成的标准是:不带空格的键能够获取系统端口,且报告的 capability 名称不再包含尾随空格。

由索引模型根据 Issue 内容生成。

描述

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());
    }
主要语言
Java
星标
1.3k
派生
755
平均合并
5 天 14 小时
30 天内合并 PR
8

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

appium/java-client 的其他 Issue

查看 appium/java-client 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。