Appium自動化測試學習(二)


問題一:

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")

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM