【问题标题】:unable to get sendKeyEvent method in appium-android无法在 appium-android 中获取 sendKeyEvent 方法
【发布时间】:2023-03-29 15:46:02
【问题描述】:

在我的 appium 代码中,关于使用滑动、滚动方法和执行代码。得到以下异常。

org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。 (警告:服务器未提供任何堆栈跟踪信息)

而且我在自动建议下拉菜单中没有看到 SendKeyEvent 方法。当我手动输入 SendKeyEvent() 时,它会抛出 AndroidDriver 类型中未定义的错误。

附截图

谁能告诉我?

【问题讨论】:

  • 您使用的 Java 客户端版本是什么?
  • 最新java客户端3.2.0

标签: android selenium-webdriver appium


【解决方案1】:

如果您使用 java 客户端 3.2.0,那么您应该尝试使用 pressKeyCode(keyCode) 方法而不是 sendKeyEvent(keyEvent)。 希望对您有所帮助。

【讨论】:

  • 在客户端 3.4.1 上工作。
【解决方案2】:

当然,因为这种方法不适用于驱动程序。您可以将密钥发送到元素,而不是驱动程序。解决方案如下:

WebElement element = driver.findElement(By.id("the_id"));
element.sendKeys("necessary_text");

【讨论】:

  • 当然可以将密钥发送给驱动程序。这取决于您之前如何声明驱动程序,但方法略有不同:driver.sendKeyEvent(66);
  • 错了。 AppiumDriver 类(Selenium v​​2.47.1 & Appium 3.2.0.)不支持它。
【解决方案3】:

这段代码对我有用:

AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
driver.pressKeyCode(AndroidKeyCode.HOME);

支持什么?什么是过时的?如何找到这些问题的答案? 有人可以直接参考吗???

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2018-02-14
    • 2019-08-20
    • 2020-01-30
    • 2015-12-19
    • 2020-10-13
    • 2020-07-13
    • 2012-11-05
    • 2019-09-14
    相关资源
    最近更新 更多