問題一:
python中,在testcase中添加activity查詢的時候
def test_CreateBookingOrder(self): #進入城市選擇 activity=self.driver.current_activity #activity結果通過打印得到 print activity
始終提示錯誤
activity = self.driver.current_activity#activity結果通過打印得到
AttributeError: 'WebDriver' object has no attribute 'current_activity'
經過排查后發現,是我在引入模塊的時候引入的是
from selenium import webdriver
然而selenium是web的測試框架,appium對其進行了封裝和修改,因此在做appium自動化測試的時候應該先在終端安裝
appium-python-client,在終端窗口輸入命令:
sudo pip install Appium-Python-Client
然后在case中導入的時候選擇:
from appium import webdriver
即可解決問題。
問題二:
我在進行元素定位的時候采用text定位的方式,代碼為
self.driver.find_element_by_link_text("上海").click()
運行后始終報錯:
WebDriverException: Message: Invalid locator strategy: link text
后咨詢得知link_text定位方式是Selendroid框架中的定位方式,因此若想采用,則需在代碼加入
desired_caps['automationName'] = 'Selendroid' #想使用的自動化測試引擎,默認為appium 用來設置用link text定位元素
問題三:
在自動化定位點擊城市后始終會進入一個空白頁面,無法繼續進行操作,詢問后得知需在本地的~/.android中將debug.keystore文件替換為一個自家的debug.keystore。。。
問題四:
在用android sdk中的uiautomatorview進行控件定位時,textview中的中文始終無法顯示。
原因:UIaotumator view在android5.0上有bug,中文無法顯示。。。而我用的正是android5.0.。。
問題四:
在搜索框中輸入,sendkeys,想要輸入中文,則需要設置設備的關鍵字
desired_caps['unicodeKeyboard'] = "true"#使用 Unicode 輸入法。默認值false
desired_caps['resetKeyboard'] = "true"#在設定了unicodeKeyboard
關鍵字的 Unicode 測試結束后,重置輸入法到原有狀態。如果單獨使用,將會被忽略。默認值false
此后調用時即可實現:
self.driver.find_element_by_id("search_edit").send_keys(u"艾維庭美容spa")