1. 程式人生 > >robot framework rf自動化測試例項(第二篇:處理開機/使用者引導頁--滑動swipe以及click方法)

robot framework rf自動化測試例項(第二篇:處理開機/使用者引導頁--滑動swipe以及click方法)

前言:

  1. 現在越來越多的應用,在首次安裝或者更新之後都會有一個引導頁,上一節我們講解了如何啟動一個應用,接下來我們講解如何操作引導頁順利進入首頁
  2. 每篇文章都是使用例項, 大家可以一起做,但是練習的時候要多想想,這種操作在哪些地方還有可能用到,該怎麼去用

使用工具:

  1. adb安裝路徑tools資料夾下:uiautomatorviewer.bat
  2. appium
  3. rf編輯器ride
  4. 58速運安卓端安裝包(下載地址:https://pan.baidu.com/s/1eSiYkEm)

備註:

課程開始之前,我們先來看一下今天我們示例用的應用開機引導頁的應用58速運安卓端安裝包(下載地址:https://pan.baidu.com/s/1eSiYkEm),啟動之後出現開機引導頁進入主頁有以下兩種方式:

  1. 點選引導頁中的跳過按鈕
  2. 滑動到第三張引導頁,點選立即體驗按鈕
我們今天講比較複雜的第二種方法,掌握第二種方法後,大家自然而然就知道怎麼使用第一種方法進入首頁了

課程步驟:

  1. 啟動ride
  2. 新建工程
  3. 新建測試集,且在測試集中匯入我們測試所需庫AppiumLibrary
  4. 新建測試用例名為“跳過進入首頁”
  5. 手機用USB連線電腦,cmd執行adb devices獲取手機的裝置名
  6. 啟動appium,依次點選:android settings-->勾選application path-->choose(選擇58速運安卓端安裝包的路徑)如下圖:


7. 選擇之後,再次點選:android settings。 可以檢視到該應用的包名以及啟動activity,如下圖:


8.  注意---消appium中勾選的application path,然後點選啟動。

9. ride中剛新建的測試用例中開始寫程式碼了(整個寫完的用例下載地址:https://pan.baidu.com/s/1eSiYkEm     。下載了程式碼之後,ride直接開啟你下載的資料夾)

我們上圖寫完的最簡單的達到我們目的的用例:


  • 第一行:Open Application    http://localhost:4723/wd/hub    platformName=Android    platformVersion=4.2.2    deviceName=KZNJIRLZGIIRKFT4    app=D:/installer/com.wuba.huoyun.apk    appPackage=com.wuba.huoyun    appActivity=.activity.WelcomeActivity    unicodeKeyboard=True    resetKeyboard=True  這行程式碼我們再上一篇文章中就有介紹,開啟應用,如果未安裝應用,則安裝之後開啟應用。最後兩個unicodeKeyboard=True    resetKeyboard=True,在我們F5搜尋關鍵字的示例中沒有涉及。那這個是幹什麼用的呢?輸入中文用的,如果不設定這兩個,你如果想要在應用裡輸入中文,是沒法輸入的
  • 第二行:sleep 10 ,休息10秒,不做任何動作。 應用啟動需要一段時間之後才會出現引導頁,所以我們這行的意義在於等待引導頁的出現(下節我們練習怎麼動態的等待,斷言引導頁的出現
  • 第三行:swipe 滑動,從第一頁滑動至第二頁。我們所用給的應用有三個引導頁,是用滑動的手勢去切換至下一頁 swipe的用法是(startX,startY,stopX,stopY).如何獲取這個值?可以開啟手機開發者模式中的指標位置,然後手指停留的地方會顯示x和y值
  • 第四行:從第二頁,滑動至第三頁。
  • 第五行:點選事件,點選開機引導頁第三頁的“立即體驗”。 步驟:手機安裝應用,啟動應用,滑動至引導頁第三頁(確保手機usb連線電腦成功);雙擊啟動adb安裝路徑tools資料夾下:uiautomatorviewer.bat,點選device screenshot按鈕; 滑鼠點選頁面中的立即體驗,然後拷貝右側資料中的 resource-id值,如圖:


10. 執行測試用例,簡單點一個從引導頁到首頁的用例就講解完成了。

今天我們講解的知識點有以下幾個:

  1. 使用appium獲取安裝包的包名, activity名
  2. 滑動方法:swipe
  3. 使用uiautomatorviewer.bat獲取頁面中元素的資訊
  4. 點選事件:click element (使用id)
  5. 等待事件:sleep

今天用例的不足:

  1. 滑動事件:swipe,每個手機的螢幕大小不一樣,這樣的固定的指標位置,可能不適應其他手機(但是我們不可能每個手機都修改一次這個位置)
  2. 等待事件:sleep, 應用載入較快的時候,10秒鐘我們可能真的只需要等待三秒,浪費了事件,網速不好的時候可能10秒載入不出來,這樣我們的用例就會失敗
  3. 滑動事件:寫了兩個重複的滑動事件,這裡只需要滑動兩次,但是如果我們需要滑動5次、10次呢?

下一篇我們講解怎麼優化現有的用例:robot framework 移動端自動化(第三篇:動態獲取座標,動態等待,迴圈語句)