Appium [已解决] 关于输入 Appium 设置支持输入中文后,键盘无法调出

treesea · 2015年06月04日 · 最后由 ivy520 回复于 2016年10月10日 · 2296 次阅读

第一步

//设置中文输入的属性,可以输入中文 
          capabilities.setCapability("unicodeKeyboard", "True");
          capabilities.setCapability("resetKeyboard", "True");

第二步 由于键盘被禁了,但是我们的搜索触发在键盘里<如图>,无法触发,怎么破

解决办法
首先感谢各位的回答,少装逼多干事。

//可输入中文,但此时键盘不可用,输入法键盘为Appium unicodeKeyboard
    inputById("com.ccigmall.b2c.android:id/search_input","回归150608163530");
    //使用adb shell 切换输入法-更改为谷歌拼音
    excuteAdbShell("adb shell ime set com.android.inputmethod.pinyin/.PinyinIME");
    //再次点击输入框,调取键盘,谷歌键盘被成功调出
    clickById("com.ccigmall.b2c.android:id/search_input");
    //点击右下角的搜索,即ENTER键
    sendKeyEvent(AndroidKeyCode.ENTER);
    //再次切回 输入法键盘为Appium unicodeKeyboard,方便下次输入中文
    excuteAdbShell("adb shell ime set io.appium.android.ime/.UnicodeIME");
共收到 15 条回复 时间 点赞

有试过 sendKeyEvent 吗?

#1 楼 @chenhengjie123 sendKeyEvent 不是不可以输入中文吗?

#1 楼 @chenhengjie123 试过了,键盘被屏蔽了, sendKeyEvent(回车键值),不起作用

#3 楼 @treesea2015 那是因为你手机的输入法被修改为了 appium 自带的那个输入法了。你去设置里面看下

键盘开启下呗

KEYCODE_SEARCH
试过这个键吗?

测试完毕 driver.removeApp("io.appium.android.ime");

问题 1,如果 Unicodekeyboard 为 true,那么在开始运行脚本的时候,会帮你安装 appium 自带的输入法,这个输入法是没有 UI 的。
只有当你的用例是正常执行完毕,没被外界打断的情况下,而且 resetkeyboard 也为 true 的情况下,appium 会帮你复原输入法。

问题 2,sendkeyEvent 是生效的。python 环境亲测driver.keyevent(66)

#8 楼 @anikikun 测试用例正常执行完毕,没被外界打断的情况下,如何让 resetkeyboard 为 true?现在都要手动去设置里去掉 appium 的勾选

#9 楼 @echo 直接勾上不就 ok 了吗?
或者写进 desired_caps 里去就 ok 了

#6 楼 @sanlengjingvv 谢谢,已解决

#8 楼 @anikikun 然而您说的,我用的是 java

#5 楼 @tianying 谢谢您的回答,现已解决

#12 楼 @treesea2015 =。=你可以看日志,client 只是负责发送命令,如果发送出去的命令是一样的,那最终还是看 bootstrap 客户端的处理情况

建议您添加个头像。

不错,解决了我的问题

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册