gpt4 book ai didi

Appium hidekeyboard() 方法

转载 作者:行者123 更新时间:2023-12-04 20:27:44 24 4
gpt4 key购买 nike

我正在尝试自动化一个邮政编码输入字段,该字段为用户输入弹出一个数字键盘。
Appium 可以正确输入邮政编码,但是在折叠键盘时遇到问题,我注意到有 appium 方法 driver.hidekeyboard()
但不幸的是,当我使用它时它会出错。

网络驱动程序错误:

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: [object Object]

Appium 服务器日志:
debug] [JSONWP Proxy] Matched '/element/undefined/click' to command name 'click'
[debug] [JSONWP Proxy] Proxying [POST /element/undefined/click] to [POST http://localhost:8100/session/83293E4F-4B7A-462A-B5B1-1D729D54E36B/element/undefined/click] with body: {}
[debug] [XCUITest] Connection to WDA timed out
[debug] [iProxy] recv failed: Operation not permitted
[debug] [JSONWP Proxy] Got response with status 200: {"value":{},"sessionId":"83293E4F-4B7A-462A-B5B1-1D729D54E36B","status":13}
[JSONWP Proxy] Got an unexpected response: {"value":{},"sessionId":"83293E4F-4B7A-462A-B5B1-1D729D54E36B","status":13}
[debug] [MJSONWP] Matched JSONWP error code 13 to UnknownError
[debug] [XCUITest] Connection to WDA timed out
[debug] [iProxy] recv failed: Operation not permitted
[debug] [W3C (bac0efb8)] Encountered internal error running command: UnknownError: An unknown server-side error occurred while processing the command. Original error: [object Object]
[debug] [W3C (bac0efb8)] at errorFromMJSONWPStatusCode (/usr/local/lib/node_modules/appium/node_modules/_appium-base-driver@3.14.0@appium-base-driver/lib/protocol/errors.js:789:10)
[debug] [W3C (bac0efb8)] at ProxyRequestError.getActualError (/usr/local/lib/node_modules/appium/node_modules/_appium-base-driver@3.14.0@appium-base-driver/lib/protocol/errors.js:683:14)
[debug] [W3C (bac0efb8)] at JWProxy.command (/usr/local/lib/node_modules/appium/node_modules/_appium-base-driver@3.14.0@appium-base-driver/lib/jsonwp-proxy/proxy.js:234:19)
[HTTP] <-- POST /wd/hub/session/bac0efb8-601a-4558-a50c-f909f2ccb25a/appium/device/hide_keyboard 500 1

我还注意到有一个带参数的键盘覆盖方法:
https://github.com/appium/java-client/blob/1991a8a0f9e4a3ff467dbb713cb5c51c8edc060f/src/main/java/io/appium/java_client/HidesKeyboardWithKeyName.java
driver.hideKeyboard(HideKeyboardStrategy.PRESS_KEY, "Done");

但是不管我已经导入了必要的类,它仍然说“HidesKeyboard 类型中的方法 hideKeyboard() 不适用于参数 (String, String)”

任何人都可以帮助解决上述两个问题中的任何一个?

非常感谢!

最佳答案

Appium 方法 hideKeyboard() 是 已知不稳定 在 iPhone 设备上使用时,如 Appium 当前已知的未解决问题中所列。在 iOS 设备上使用此方法可能会导致 Appium 脚本挂起。 Appium 确定问题是因为 - “没有用于隐藏键盘的自动化 Hook ,......而不是使用这种方法,考虑用户如何在您的应用程序中隐藏键盘,并告诉 Appium 这样做(滑动,点击某个坐标,等等……)”

解决方法:遵循 Appium 文档的建议 - 使用 Appium 自动执行用户用于隐藏键盘的操作。例如,如果应用程序定义了此操作,则使用滑动方法隐藏键盘,或者如果应用程序定义了“隐藏-KB”按钮,则自动单击此按钮。

另一种解决方法是使用 sendkey() 无需单击文本输入字段。

关于Appium hidekeyboard() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54995027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com