在自動(dòng)化測(cè)試過程中耗美,有時(shí)可能會(huì)需要設(shè)置Android設(shè)備的輸入法的場(chǎng)景時(shí)
如:運(yùn)行了appium后,會(huì)自動(dòng)切換到appium的輸入法(io.appium.settings/.UnicodeIME)堰怨,在之后的手動(dòng)使用時(shí)蛇摸,每次均需要去手機(jī)設(shè)置內(nèi)調(diào)整輸入法,較為麻煩揽涮,即可借助adb命令來(lái)實(shí)現(xiàn)自動(dòng)化修改
如:使用airtest輸入時(shí)弃鸦,需切換到airtest輸入法(com.netease.nie.yosemite/.ime.ImeService)
-
獲取設(shè)備當(dāng)前使用的輸入法
adb shell settings get secure default_input_method # 會(huì)輸出當(dāng)前設(shè)備正在使用的輸入法
-
獲取當(dāng)前設(shè)備已安裝的輸入法
# 會(huì)輸出當(dāng)前設(shè)備的全部輸入法的詳細(xì)信息 adb shell ime list # 僅輸出當(dāng)前設(shè)備的全部輸入法名稱 adb shell ime list -s
-
修改當(dāng)前設(shè)備的輸入法
方法一: adb shell ime set xxxxxx 如: adb shell ime set io.appium.settings/.UnicodeIME # 切換至appium UnicodeIME輸入法 adb shell ime set com.netease.nie.yosemite/.ime.ImeService # 切換至airtest yosemite輸入法 方法二: adb shell settings put secure default_input_method xxxxxx 如: adb shell settings put secure default_input_method io.appium.settings/.UnicodeIME # 切換至appium UnicodeIME輸入法 adb shell settings put secure default_input_method com.netease.nie.yosemite/.ime.ImeService # 切換至airtest yosemite輸入法
-
Python + airtest 的使用示例
def setting_writing_type(self, var): """ 設(shè)置設(shè)備的輸入法 :param var: sou_gou, appium, air_test """ writing = { 'sou_gou': 'com.sohu.inputmethod.sogou.xiaomi/.SogouIME', 'appium': 'io.appium.settings/.UnicodeIME', 'air_test': 'com.netease.nie.yosemite/.ime.ImeService' } shell(f'settings put secure default_input_method {writing[var]}') # 使用示例 # 設(shè)置輸入法為yosemite self.setting_writing_type('air_test') """ 完成輸入行為唬格,完成測(cè)試 """ # 修改為默認(rèn)搜狗輸入法 self.setting_writing_type('sou_gou')