Python Appium實現中文輸入分享

最近由於需求升級,非得要在安卓端輸入中文,無奈之下只有在網上四處找尋資料,結果還真給找到了,現在可以在安卓端輸入中文,在此第一時間分享給大家,希望對新手有幫助,解決項目上的問題,這個應該是剛出來不久,輸入還不是非常的穩定,但是總的來說還是很不錯的。
  文采不好,大家湊合着看,以下是以Python爲例。appium的版本是:1.3.3
Service_Location = File_Location().file_path('02-Test_Data\\LanuchService.bat')
subprocess.Popen(Service_Location, creationflags=subprocess.CREATE_NEW_CONSOLE)
time.sleep(10)
print '[信息:]連接移動設備中...'
self.desired_caps={
'platformName' : 'Android',
'platformVersion' : '4.4',
'deviceName' :  'Android Emulator',
'appPackage' : 'XXXXXXX',
'appActivity':  XXXXXXXX',
'app-wait-activity' :'XXXXXXXX',
'unicodeKeyboard':True,
'resetKeyboard':True
}
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)
  這串代碼是我們在項目中使用的,中文輸入的重點,主要在 字典的最後2行代碼中。
  'unicodeKeyboard':True,
  'resetKeyboard':True
  使用unicodeKeyboard的編碼方式來發送字符串,再就是將鍵盤給隱藏起來,二個參數都爲True 即可。
  再分享點小知識,Python可以直接用內置函數subprocess 來調用CMD下的命令,非常方便,相當於一鍵啓動appium服務,呵呵。
  當進入Apps後,頁面上的鍵盤沒有了,讀取元素信息量會更大,不會被鍵盤擋住,即使輸入的時候也不會被調用出來,真心好用!
  其二,當我們輸入完後,想把輸入發重新喚出來的時候,這時鍵盤無法被調用,原因是:
  我們調用的是Appium的UnicodeKeyboard,而且它默認的被我們的腳本給隱藏起來了,這個時候,我們需要長按輸入框,來切換到其它的輸入法,方可調出來鍵盤。
  其三,在輸入的時候,請將輸入的字符 decode一下,要不輸入的時候會報編碼錯誤。
  PM.Location_Method().by_ID_send(self.driver,PM.File_Location().get_parameter('主標題'),MainSubject.decode('utf-8'))

  謝謝大家看該帖子,水平有限,東西也說的很淺,但能實際解決問題,希望能共同開源到底,一起推動行業發展。


原文地址:http://www.51testing.com/html/73/n-938673.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章