Appium Appium appium 点击键盘上的 “搜索” 键的方法

小星 · May 17, 2017 · Last by 居test replied at August 29, 2018 · 3073 hits

首先我安装的是搜狗输入法,其它的输入法没有去尝试,有兴趣的朋友可以去试一下。(微信APP)

先去cmd中查看一下你的真机中的输入法

cmd中输入 adb shell ime list -s

然后代码中的方法是:

public void findAccountByKeyboard() throws InterruptedException, IOException{
Thread.sleep(2000);
driver.findElementById("com.tencent.mm:id/f_").click();
driver.findElementByXPath("//android.widget.TextView[@text='Add Contacts']").click();
driver.findElementByXPath("//android.widget.TextView[@text='Official Accounts']").click();
driver.findElementByXPath("//android.widget.EditText[@text='Search Official Accounts']").sendKeys("*****服务号");
Thread.sleep(3000);
// driver.pressKeyCode(66);

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+"出错");
}
}
共收到 5 条回复 时间 点赞

'unicodeKeyboard': 'True',
'resetKeyboard': 'True',
设置后,系统的输入被隐藏了, 直接用下面这两个方法的键盘事件就能提交搜索内容,这是python的两个写法,亲测可用

driver.keyevent(66)
driver.press_keycode(66)

usky 回复

以上两个属性设置为true之后,java使用keyevent66是不可行的,我目前用的是楼主的方法👍

也是用Java写的,用了楼主的办法可行,很赞!!!
遇到的问题,唤起键盘也需要时间,可能会失败,解决方法就是唤起键盘后等待一些时间,再执行键盘点击“确定”

黑科技啊

ios appium的键盘点击回车,这个如何处理?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up