Appium+Robotframework實現iOS應用的自動化測試-5:一個簡單的例子

來源:互聯網
上載者:User

Appium+Robotframework實現iOS應用的自動化測試-5:一個簡單的例子

萬事具備,只欠編碼!

下面看一個簡單的樣本,這個樣本驗證常見的登入功能。這個例子的應用是我所在的公司正在研發的,還沒有正式上線,就不提供下載路徑了。登入功能是很多應用都用的,這個大家都知道是怎樣的功能。

首先請看resource.txt檔案的代碼:

 

*** Settings ***Library           AppiumLibrary*** Variables ***${REMOTE_URL}     http://192.168.1.6:4723/wd/hub${PLATFORM_NAME}    iOS${PLATFORM_VERSION}    8.3${DEVICE_NAME}    iPhone 5s${APP}            /Users/admin/xxx_ios/xxx/build/Debug-iphonesimulator/xxx.app${User}           138****6789${Password}       888888*** Keywords ***Setup    Open Application    remote_url=${REMOTE_URL}    platformName=${PLATFORM_NAME}    platformVersion=${PLATFORM_VERSION}    deviceName=${DEVICE_NAME}    app=${APP}    Short Sleep    Swipe    500    200    100    200    500    #滑動    Short Sleep    Swipe    500    200    100    200    500    #滑動    Short Sleep    Click Element    xpath=//UIAApplication[1]/UIAWindow[1]/UIAButton[1]    #點擊立即體驗    Short SleepTeardown    Close All Applications
簡單解釋下,因為使用Appium進行測試,所以在Settings中加入AppiumLibrary,同時需要在OS X中安裝AppiumLibrary,具體安裝方法可參考之前本人的文章Appium+Robotframework實現Android應用的自動化測試-4:AppiumLibrary介紹和安裝。

 

之後的Variables中設定好運行Appium所需的參數,具體介紹如下:

 

${REMOTE_URL}:遠程URL,指的是Appium所在的地址以及連接埠號碼,之後的/wd/hub為固定格式,請不要改動。

${PLATFORM_NAME}:平台名稱,我們在iOS中進行測試,只能寫iOS。

${PLATFORM_VERSION}:平台版本,也就是iOS的版本號碼,這個可通過在OS X的終端中運行指令xcodebuild -showsdks得知版本號碼,如所示,xcodebuild指令的具體用法大家可以自己尋找資料。

${DEVICE_NAME}:裝置名稱,就算蘋果裝置的名稱,注意要和上面的版本號碼匹配即可。

${APP}:要測試的App的全路徑,注意這個路徑指的是相對於Appium所在的機器的路徑,也即是OS X所在的機器上的路徑,這裡使用的是通過xcodebuild指令編譯後得到的app檔案。

${User} :登入的使用者名稱,因為採用手機號作為登入,所以這裡實際上是使用者完整的手機號。

${Password}:登入的使用者名稱對應的密碼。

Keywords中的Setup會在測試開始執行時自動先執行這裡的指令碼,首先是通過Open Application關鍵字安裝並開啟應用(如果之前已安裝,則會自動進行卸載操作),之後因為應用有兩幅歡迎介面,故需要通過Swipe關鍵字執行向左的滑動操作來進入啟動頁面,之後通過Click Element關鍵字來點擊立即體驗的按鈕來進入首頁。

這裡要注意的是因為AppiumLibrary沒有關鍵字執行後等待時間長度的關鍵字,這裡都用了Short Sleep來用作關鍵字執行之間的等待時間,Short Sleep關鍵字是自訂的關鍵字,其實就是對Sleep x的封裝而已,具體等待時間長度x可以根據實際情況設定。

Teardown會在測試結束後再自動執行這裡的指令碼,很簡單,調用Close All Applications來關閉所有應用即可。

接下來看看具體的登入驗證指令碼:

 

TestCase 驗證登入       Click Element    name=登入/註冊    Short Sleep    Input Value    xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1]    ${User}1    #輸入錯誤使用者名稱    Input Text    xpath=//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]    ${Password}    #密碼    Click Element    name=登入    Page Should Contain Element    name=登入    #停留在登入頁面    Input Value    xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1]    ${User}    #正確使用者名稱    Input Text    xpath=//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]    ${Password}a    #輸入錯誤密碼    Click Element    name=登入    Page Should Contain Element    name=登入    #停留在登入頁面    Input Value    xpath=//UIAApplication[1]/UIAWindow[1]/UIATextField[1]    ${User}    #正確使用者名稱    Input Text    xpath=//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]    ${Password}    #輸入正確密碼    Click Element    name=登入    Short Sleep       Element Name Should Be    xpath=//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIAStaticText[5]    xxx    #驗證登入後顯示的使用者是指定的使用者
這裡首先是有兩個負面測實驗證:分別輸入錯誤的使用者名稱和輸入錯誤的密碼後進行登入,期待結果應該是登入失敗,仍在登入頁面;之後是正面驗證,輸入正確的使用者名稱和密碼後就應該登入成功並能顯示出該使用者的使用者名稱,指令碼都很簡單,就不再贅述。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.