问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘。
原因:appium调试时,将手机输入法设置成了Unicode IME
注:按键详细操作参考:转载至 作者:oscarforever 地址:https://www.cnblogs.com/oscarforever/p/10721774.html
解决方法:
- 方法一,手机设置里修改输入法:
不同的手机型号、系统设置的步骤可能不同,以华为Magic3.1.0为例,设置-->系统和更新-->语言和输入法-->默认-->搜狗输入法
编辑
- 方法二,adb命令切换手机输入法:
首先,获取手机当前可用输入法,命令:adb shell ime list -s
然后,切换成其他输入法,以搜狗输入法为例,命令:
adb shell settings put secure default_input_method com.sohu.inputmethod.sogou/.SogouIME
当然,将手机上删除appium相关的包也是可行的,但不推荐,否则每次调试都需要安装、删除。
或者通过python 中使用命令;如下
import time
from appium import webdriver
from appium.webdriver.webdriver import By
des = {
'automationName': 'appium',
'platformName': 'Android',
'platformVersion': '9', # 填写android虚拟机/真机的系统版本号
'deviceName': 'huawei', # 填写安卓虚拟机/真机的设备名称
'appPackage': 'com.xinlang.daijiezou', # 填写被测app包名
'appActivity': 'com.xinlang.app.MainActivity', # 填写被测app的入口
'udid': 'HBSBB18821510293', # 填写通过命令行 adb devices 查看到的udid
'noReset': True, # 是否重置APP
'noSign': True, # 是否不签名
'unicodeKeyboard': True, # 是否支持中文输入
'resetKeyboard': False, # 是否支持重置键盘
'newCommandTimeout': 30 # 30秒没发送新命令就断开连接
}
# 定义sougou变量
sougou='adb shell ime set com.sohu.inputmethod.sogou/.SogouIME'
#连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des)
# 设置时间等待,避免找不到元素报错
driver.implicitly_wait(10)
time.sleep(9)
# 在搜索框输入主播昵称
driver.find_element(by=By.ID, value='com.netease.cc:id/et_search_content').send_keys('power1')
# 实现手机键盘自带搜索操作
driver.press_keycode(66)
time.sleep(3)
# 结束
driver.quit()
标签:Appium,18,driver,appium,输入法,adb,手机,com From: https://blog.51cto.com/YouJeffrey/6366196