miniprogram-automator初探

微信小程序mini program,在17年發佈後火遍全中國各行業,依靠着微信大用戶羣體,遍地開花,有點軟件思維的企業都相續做出了小程序應用,特別是一向在IT界被詬病的ZF、GQ都紛紛推出,可謂是利民啊。當然噁心的依然是TX的標準規範,全權由WX審覈,該讓你上才能上,否則就是"您的小程序應用涉及商業性質,審覈不通過,請升級爲企業主體小程序",這麼委婉的要你交錢升級,大家都懂的。

廢話就不多說了,針對小程序自動化,有三大工具:

1.Appium

WebDriver的W3C協議與UiAutomator的結合,在App自動化領域地位明顯。但是它在做微信小程序應用的時候,被侷限了,對小程序應用的特殊前端編碼,在定位上需要通過chrome瀏覽器且要FQ下載與設備匹配的相關配置文件才能得到小程序的前端代碼來查找元素。就算FQ成功拿到了頁面內容,微信在新版本中也對一些自動化框架做了限制,在折騰過程中,諮詢了很多小程序的自動化方面的測試人員,說可以的拿不出一點有實質性質的操作文檔,說不可以的好像佔大多數。本人對Appium研究了很長一段時間,從源碼分析到最後的實戰應用都有涉及,但是對於微信小程序我最終還是放棄了。

2.AirTest

AirTest是最近才興起一個支持圖片識別功能定位操作的框架,聽起來非常高大上,只需要截取圖片,然後通過圖片對比來識別完成操作,這樣的實現簡直就是測試人員的福音啊,so easy!但是仔細想想,通過圖片的代碼如何維護?一大堆圖片想想都痛苦?

當然它還提供了poco來定位元素,這個操作跟Appium的xpath非常像,通過層次來定位識別。但是它的缺陷就是沒有xpath那麼廣泛,xpath空前的歷史位置已經讓它得到了很好的解析支持,而通過poco的路徑識別就任重而道遠了。另外它的目前的資料非常少,要使用它就得抱着一種我不入地獄誰入地獄得心態。

3.FAutoTest

這個框架百度上一查,很刺眼的就是小程序自動化工具,然並卵,現在整個團隊都放棄了,合併到了OTA的框架中,具體沒去了解細節。

4.Miniprogram-automator

微信小程序的親兒子,就好像Google與UiAutomator、selenium與webdriver一樣;最終下定決心研究這個框架就是因爲它是最契合小程序的,但是它目前依然還沒有發佈,只是在微信官方文檔說明中已經存在了,也可以使用。與AirTest一樣,資料少之又少,但我還真是抱着我不入地獄誰入地獄得心態往下學習的。

它的原理很簡單,封裝了小程序的全部的底層接口,這樣就可以so easy的通過Miniprogram-automator來完成對小程序的各種操作。但是通過我這幾天的學習,要真正的用好它需要下面的幾個要點:

(1)NodeJS

從環境開始到腳本的開發,都需要依靠NodeJS的基礎語言支撐。本人對NodeJS一竅不通,而且是那種遇到什麼問題再去學習解決的人,所以總是在痛苦中熬過來的。不建議大家這樣!

(2)測試項目微信小程序源碼

如果你要學習,可以參考https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/提供的官方應用,但是如果你要自動化測試非本公司的項目,我目前對miniprogram-automator的理解是NO。

另外它缺陷同樣明顯,對於元素定位只支持class;另外它對於一些操作需要直接調用控件綁定的事件來完成操作,所以這又必須有源碼的前提下還得會小程序開發才能很好的完成。反正我是不會,哈哈。

(3)其它缺陷

上面2點是我在這幾天使用中的感受,另外它不穩定,常常會卡頓,導致測試無法完成,這點是目前我遇到最噁心的。

對miniprogram-automator的感受就暫時聊這麼多,接下來文章會發布在微信公衆號小程序:雨墨軒痕TEST,歡迎關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章