使用 Airtest 進行微信小程序自動化測試 (Android & iOS)


使用Airtest進行Android與iOS的微信小程序自動化測試

1. 簡介

隨着微信小程序的逐漸普及,針對微信小程序的測試需求也逐漸豐富起來了。現在針對小程序的自動化測試手段比較不完善,針對的平台比較具現化。

本文介紹一下使用Airtest測試框架進行微信小程序自動化測試的方法,並分別介紹在Android和iOS下對詳細的使用步驟。

2. 需求

這里我們以星巴克的小程序為例

image

我們需要

1.打開關閉小程序
2.查看咖啡信息並試圖購買

針對這幾個需求,我們使用Airtest對小程序進行測試

3.Airtest簡介

Airtest的簡要介紹可以看這里

https://www.oschina.net/p/airtest

http://airtest.netease.com/

這次我們使用Airtest-Ide,poco,iOS-Tagent,這幾個組件完成我們的任務,這些內容均可以在下面找到

https://github.com/AirtestProject

4.開始Android測試

這里使用系統WebView內核:

使用微信聊天框輸入此網址打開

http://debugtbs.qq.com/

或者掃描二維碼

選擇強制使用系統內核,然后重啟微信即可:

注意: Android版本的小程序的 使用的 騰訊TBS瀏覽器內核 暫時無法使用 我們的工具來訪問界面元素

現在我們可以使用系統內核進行工作!

不過我們即將有新的解決方案來支持TBS內核,敬請期待。

4.1 打開小程序任務

首先打開Airtest-ide

image

先進行Android設備的連接

選擇connect進行連接

在poco輔助窗這里選擇Android模式,即可看到原生的ui結構等信息

下面進行操作的錄制:

選擇poco錄制模式,進行操作的錄制:

接下來可以看到生成的代碼情況

略作調整,並執行代碼

# -*- encoding=utf8 -*- __author__ = "suyuchen" from airtest.core.api import * auto_setup(__file__) from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco() poco("android.support.v7.widget.RecyclerView").child("android.widget.RelativeLayout")[0].child("android.widget.FrameLayout").child("com.tencent.mm:id/gd").click() sleep(1) snapshot() poco("com.tencent.mm:id/l0").child("android.widget.ImageButton").click() snapshot() 

可以看到執行效果非常不錯

4.2 查看咖啡信息並購買的腳本

# -*- encoding=utf8 -*- __author__ = "suyuchen" from airtest.core.api import * from poco.drivers.android.uiautomation import AndroidUiautomationPoco auto_setup(__file__) poco = AndroidUiautomationPoco() poco("android.support.v7.widget.RecyclerView").child("android.widget.RelativeLayout")[0].child("android.widget.FrameLayout").child("com.tencent.mm:id/gd").click() while not poco("有你真好").exists(): poco.scroll(direction='vertical', percent=0.3, duration=1.0) snapshot() poco("有你真好").click() poco("當季特飲").click() assert(poco("使用須知:").exists()) poco("android.view.ViewGroup").child("android.widget.FrameLayout").child("android.widget.FrameLayout")[1].child("").child("").child("")[3].child("")[1].click() poco("android.view.ViewGroup").child("android.widget.FrameLayout").child("android.widget.FrameLayout")[1].child("").child("")[2].child("")[1].click() poco("\r 購買\r").click() 

執行效果不錯

5.開始iOS測試

Airtest 是跨平台的測試框架,當然是對iOS支持的,大體的代碼會是一樣的,但是iOS和Android的ui結構和名稱會有一些平台相關的不同,但是大部分會是相同的,下面展示使用iOS進行相同功能的測試步驟。

5.1 打開小程序任務

首先打開Airtest-ide

image

先進行iOS設備的連接,iOS的設備連接需要部署iOS-Tagent

https://github.com/AirtestProject/IOS-Tagent

選擇connect進行連接

在poco輔助窗這里選擇iOS模式,即可看到原生的ui結構等信息

下面進行操作的錄制:

image

選擇poco錄制模式,進行操作的錄制:

iOS上webView內的元素識別的不如Android准確,有時候需要借助圖像識別進行處理

image

運行結果:

image

效果不錯

5.2 查看並試圖購買咖啡功能

下面試着編寫更加復雜的功能

image

可以看到整體代碼幾乎都是相同的

下面看運行效果:

image

看到運行效果非常好!

6. 小結

本文介紹了使用Airtest測試小程序的方法,歡迎使用Airtest 進行微信小程序測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM