1. 程式人生 > >微信小程式自動化測試-----Uiautomator+weditor的使用

微信小程式自動化測試-----Uiautomator+weditor的使用

FAT框架裡,其實已經載入了uiautomator框架。
注意:它不能代替FAT裡的click等方法,因為FAutoTest是h5,而uiautomator是native。所以遇到native控制元件,就使用uiautomator框架。
首先

1:安裝python-uiautomator2
pip install --pre uiautomator2

2:裝置安裝atx-agent
python -m uiautomator2 init

注:如果python -m uiautomator2 init安裝失敗,失敗原因(environmenterror),則是因為手機不允許adb安裝apk。設定一下就可以了。看看手機是否支援adb安裝apk。
參考檔案:

https://github.com/openatx/uiautomator2/issues/53

3:安裝weditor
Pip install weditor

4:開啟weditor
python -m weditor,如果報錯No module named cv2,通過pip install opencv-python來下載cv元件,然後通過命令再次開啟weditor即可。或者直接新建一個weditor.bat檔案存放桌面上,下次直接點選這個bat檔案就可以了。

如何使用weditor呢?
這裡只做一個簡單的介紹,畢竟主要是進行小程式的自動化測試,抓取元素才是主要的。
點選connect,旁邊出現一個綠色的小樹,則說明連線成功,操作手機至需要抓取元素的頁面,reload,即可。(支援wifi連結,但是因為小程式自動化也是需要連結資料線的,所以這裡不做wifi連結的介紹)

使用方法:
定位方式

  1. ResourceId定位: d(resourceId=“com.smartisanos.clock:id/text_stopwatch”).click()
  2. Text定位 d(text=“秒錶”).click()
  3. Description定位 d(description="…").click()
  4. ClassName定位 d(className=“android.widget.TextView”).click()
    xpath定位並不支援,一開始打算做支援的,但是發現不用也能搞定。就是程式碼寫的長一點而已。
    操作控制元件
    #click
    d(text=“Settings”).click()
    #long click
    d(text=“Settings”).long_click()
    #等待元素的出現
    d(text=“Settings”).wait(timeout=10.0)
    中文字元的輸入
    如果可以定位到元素,直接通過set_text就可以輸入中文
    d(text=“Settings”).set_text(“你好”)
    如果定位不到元素需要使用send_keys方法,以及切換輸入法
    d.set_fastinput_ime(True)
    d.send_keys(“你好 Hello”)
    d.set_fastinput_ime(False) # 輸入法用完關掉
    截圖:d.screenshot(“home.jpg”)