RobotFramework + Appium 移動自動化實現

  本次咱們移動自動化實現路線大體是這樣的:  Python語言基礎  —> Robot Framework測試框架  —> Android SDK和Genymotion模擬器  —>   Appium API   —>  開發移動自動化項目

 

1、環境搭建

  1. 首先咱們選擇Python語言,我相信不少人都有這個疑問,爲何選擇Python而不是Java?html

  由於RF核心框架使用Python實現的,雖然也能夠在Jython(JVM)和 IronPython(.NET)上運行,可是Python運用更佳。android

  2. 再者咱們選擇RIDE編輯器;ios

  雖然RIDE是「填表格」形式,看似有點low,可是卻擁有很是豐富的庫,也能夠像編程同樣寫測試用例,也支持開發系統關鍵字。對於開發技術薄弱的測試人員來講也能夠上手,使用比較簡單。編程

  3. 接着咱們須要Android SDK;app

  由於須要用到Android SDK中的 uiautomatorviewer工具,它能夠經過截屏並分析XML佈局文件的方式,爲用戶提供控件信息查看服務。框架

  4. 最後咱們須要Appium服務。編輯器

  由於Appium支持ios和android平臺上的移動原生應用、移動Web應用和混合應用,它容許測試人員使用一樣的接口、基於不一樣的平臺寫自動化測試代碼,大大增長了測試套件間代碼的複用性。工具

  詳情參考筆者另外兩篇博文: Python + Robot Framework 環境搭建     Android SDK + Appium 環境搭建佈局

 

2、設備選擇

  1. 直接鏈接真機: 打開開發者選項 -> USB調試。測試

         >>>  

  2. 或者使用模擬器: 由於Android AVD模擬器對PC硬件有要求,因此我推薦一個比較好用的模擬器Genymotion。

   連接: https://pan.baidu.com/s/1iSAWPnnFSOCFVVsPtgHA4g 提取碼: qdi9

   安裝:直接雙擊下一步便可。

   使用: 打開虛擬機,選擇一個模擬器下載便可使用。

   

   詳情參考另一篇博文:  Android模擬器Genymotion使用詳解 

     

3、控件查看

  1. 打開uiautomatorviewer工具,點擊獲取佈局,查看控件信息。

  

 

4、項目建立

  1. 打開RIDE  -> File

  2.  建立項目 New Project(類型選擇Directory,用於建立測試套件)

  

  3. 建立測試套件 New Suite(右擊項目新建,類型選擇File,用於建立測試用例) 

   

  4.建立測試用例

  

  5. 建立資源 New Resource(右擊項目新建,用於建立關鍵字)

  

  6. 建立關鍵字(右擊資源新建)

  

    7. 至此,一個簡單的測試框架搭建好了

    >>>  

 

5、編寫用例

   1. 在系統關鍵字上導入AppiumLibrary庫

  

  2. 按F5查看AppiumLibrary各類方法

  

  3. 編輯打開應用關鍵字(可參考 RobotFramework - AppiumLibrary 之關鍵字Open Application使用

*** Settings *** Library AppiumLibrary *** Keywords *** 打開應用 Open Application http://localhost:4723/wd/hub    platformName=Android    platformVersion=5.1.0    deviceName=192.168.186.101:5555    app=${CURDIR}/球酷.apk    appPackage=com.datamatch.coolball ... appActivity=com.jdd.datapredict.StartupActivity    unicodeKeyboard=True    resetKeyboard=True

  4. 在測試套件上導入Resource,並加入Suite Setup

  

  5. 查看控件元素,編輯測試用例

*** Settings *** Suite Setup 打開應用 Resource 系統關鍵字.txt *** Test Cases *** 正常登陸 Wait Until Element Is Visible com.datamatch.coolball:id/tabs    30    #等待菜單欄顯示
    Click Element    name=個人    #點擊-個人
    Click Element    name=登陸/註冊    #點擊-登陸
    Clear Text    com.datamatch.coolball:id/userName    #清空用戶名輸入框
    Input Text    com.datamatch.coolball:id/userName    18851507044    #輸入用戶名
    Input Password    com.datamatch.coolball:id/password    Leo5208.    #輸入密碼
    Click Element    name=當即登陸    #點擊-當即登陸
    Element Should Be Visible    com.datamatch.coolball:id/iv_userLevel    #檢查等級標籤是否顯示
    ${text}    Get Text    com.datamatch.coolball:id/userName    #獲取用戶暱稱
    Should Be Equal As Strings    ${text}    Leoo    #檢查用戶暱稱是否正確
 清空消息 Wait Until Element Is Visible com.datamatch.coolball:id/iv_message    30 Click Element name=清空 Click Element com.datamatch.coolball:id/tv_msg_clear ${text} Get Text com.datamatch.coolball:id/empty_text Should Be Equal As Strings ${text} 抱歉,暫無數據 Click Element accessibility_id=Navigate up 退出登陸 Wait Until Element Is Visible com.datamatch.coolball:id/userName    30 Click Element com.datamatch.coolball:id/userName Click Element name=退出登陸 Element Text Should Be com.datamatch.coolball:id/userName    登陸/註冊

  6. 測試用例實現流程圖

   

 

6、執行測試

  1. 打開appium客戶端並啓動(或者命令行輸入appium啓動)

  

  2. 啓動模擬器(或者鏈接真機)

  3. 切回RIDE點擊運行(或者快捷鍵F8)

  

 

7、分析結果

  查看報告或日誌(或者快捷鍵Ctrl+R/L)

   

相關文章
相關標籤/搜索