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

Inconsistent Input Behavior with PointerInput on iOS 17 using Appium Java Client 8.5.0

未关闭
#2,072 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

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

调研方向

首先,使用 clicks 中的 PointerInput 和 Sequence 操作复现 fasterPINLogin 中的行为,然后检查 iosDriver.perform 调用以及 iOS 17 上报告的坐标。将得到的输入与预期的 123 序列进行比较,并确定该行为是出现在 Java client 中,还是出现在 iOS 交互中;当原因已确定,并且已验证有针对性的修复或已记录的限制时,即表示完成。

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

描述

Description

I am currently working with iOS 17 and the Appium Java Client version 8.5.0. My goal is to enter three numbers into a numeric field by simulating key presses using the PointerInput class.

Here's the scenario: I'm attempting to use the keyboard to click the numbers 1, 2, and 3, which correspond to the following coordinates on the screen:

  • Number 1: Button at position (0,561)
  • Number 2: Button at position (125,561)
  • Number 3: Button at position (262,561)

However, I'm experiencing inconsistent input behavior. Instead of obtaining the expected sequence of '123', the output I'm getting is '11122'. This occurs despite having experimented with different durations for the pauses between inputs.

No matter how I adjust the pauses, there seems to be no improvement, and the issue persists where the input is erratic and includes more numbers than intended. It's unclear whether the issue lies with the PointerInput implementation or if there's a specific iOS 17 interaction that I'm not accounting for.

Code

public void fasterPINLogin(String numbersText) {
    PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger");
    Sequence tap = new Sequence(finger, 0);

    if (isIOS()) {
        clicks(finger, tap,0,561);
        clicks(finger, tap,128,561);
        clicks(finger, tap,262,561);
        iosDriver.perform(List.of(tap));
    }
}

private void clicks(PointerInput finger, Sequence tap, int x, int y) {
    tap.addAction(finger.createPointerMove(ofMillis(10), PointerInput.Origin.viewport(), x, y));
    tap.addAction(finger.createPointerDown(LEFT.asArg()));
    tap.addAction(new Pause(finger, ofMillis(500)));
    tap.addAction(finger.createPointerUp(LEFT.asArg()));
    tap.addAction(new Pause(finger, ofMillis(500)));
}`
主要语言
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 摘要。