Appium appium 如何点击键盘上的 “搜索” 键

_fake_tester_ · 2017年04月27日 · 最后由 冷风 回复于 2019年11月07日 · 3266 次阅读

如下方式不行

press_keycode(66) or keyevent(66)
set_value("北京\n")

用坐标定位不通用

有没有比较通用的方法,谢谢~

共收到 10 条回复 时间 点赞

楼主是测试的 android 应用? 不同的输入法软件,以及不同的应用 APP,对输入法的按键定义都会不同,不太好找一个通用的方法。
你想用 press_keycode(66) or keyevent(66),首先得要求你测试的这个 APP 的 “搜索” 按键,支持 keyevent

meil000 回复

这个测试的微信,输入中文是用的 unicodeIme,然后又调出系统上百度输入法

_fake_tester_ 回复

下面两个方法,不过都不能保证通用,换个输入法说不定就不行了
1:抓取控件 id 或 name,按 id 或 name 来 click
2:既然你 keyevent(66)(66 代表回车)不行,那你再试试看 keyevent(84)(84 代表搜索)

84 也不行

10楼 已删除

那能不能让他找含有 “搜索” 的地方点击

楼主解决了么??

我使用的是搜狗输入法 然后用了以下的方法解决了

excuteAdbShell("adb shell ime set com.sohu.inputmethod.sogou/.SogouIME");
//再次点击输入框,调取键盘
driver.findElementByXPath("//android.widget.EditText[@text='**********']").click();
//点击右下角的搜索,即ENTER键
driver.pressKeyCode(AndroidKeyCode.ENTER);
 /**
     * 执行adb命令
     * @param s 要执行的命令
         */
private void excuteAdbShell(String s) {
        Runtime runtime=Runtime.getRuntime();
        try{
            runtime.exec(s);
        }catch(Exception e){
            System.out.println("执行命令:"+s+"出错");
}

查看真机中的输入法的方法:
在 cmd 中 输入
adb shell ime list -s

driver.keyevent(66)
driver.press_keycode(66)
这两个 python 的方法提交搜索内容,亲测可用

使用 adb shell ime set+ 输入法,切换个能用搜索命令的输入法就 OK 了

楼主,问题解决了吗,怎么做的

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