8 微信小程式和小遊戲自動化測試

2022-09-06 17:45:11 字數 1899 閱讀 5337

下面來分別看下android和ios上的效果:

8.1.1 android小程式

8.1.2 ios小程式

如下示例**可以實現在ios上點選對應卡面的操作:

from airtest.core.api import *

auto_setup(__file__)

from poco.drivers.ios import iospoco

poco = iospoco()

while not poco("感恩有你").exists():

poco.scroll(direction='vertical', percent=0.3, duration=1.0)

snapshot()

poco("感恩有你").click()

airtest可以使用基於影象識別的方式對小遊戲進行自動化測試,此外,poco ui控制項檢索也對使用白鷺引擎開發的小遊戲進行了支援。poco的接入需要在源**中接入poco-sdk,具體接入指引如下:

8.2.1 環境配置

然後在egretproperties.json中修改modules屬性,新增紅框內相應字段,其中name屬性必須為poco

路徑可以是相對路徑也可以是絕對路徑,具體可以參考白鷺引擎說明文件中有關於modules欄位的說明

然後通過快捷鍵 ctrl+` 呼出終端 在終端中執行命令egret build -e

在入口檔案main.ts的rungame函式中新建型別為pocomanager的物件,並且傳入this.stage

執行**,啟動遊戲

最後在在終端中輸入python -m poco.utils.net.stdbroker ws://*:5003 tcp://*:15004 ,開啟**伺服器broker

其中websocket埠預設為5003,如果有更改的需要,可以在新建pocomanager的時候傳入埠引數

8.3.1 連線手機瀏覽器

具體步驟如下:

(1)通過usb連線android手機,確認adb devices連線ok,在電腦上執行如下命令,將手機的5003埠對映到電腦的5003埠

adb reverse tcp:5003 tcp:5003

(2)在電腦上啟動broker:

python -m poco.utils.net.stdbroker "ws://*:5003" "tcp://*:15004"

啟動broker之後,在手機上訪問egret的頁面(需要使用全屏模式保證座標準確)。訪問的時候,broker會列印手機連線上的log,如下:

~ python -m poco.utils.net.stdbroker "ws://*:5003" "tcp://*:15004"

server listens on ("0.0.0.0", 5003) transport websocket

server listens on ("0.0.0.0", 15004) transport socket

stdbroker on.

(3)開啟airtestide連線手機,選擇poco std-broker模式,即可以看到ui層級結構。同時broker會列印連線日誌:

accept from: ('127.0.0.1', 56872)

received_message from ('127.0.0.1', 56323) {"id":"2a0ce828-132e-4d15-a645-55493d7eaf4b","jsonrpc":"2.0","result":{"children"

airtestide介面如下:

在airtestide裡編寫指令碼並執行,還可以檢視報告。

微信小程式自動化測試

缺點 元素定位符不夠精確,content desc resource id 多數都沒有 各版本情況 7.x改版後預設已經無法使用基於 webview 的自動化 檔案傳輸助手傳送 debugtbs.qq.com或者debugx5.qq.com 注意事項 webview 開關 x5核心除錯開關 x5核心...

微信小程式自動化測試

缺點 元素定位符不夠精確,content desc resource id 多數都沒有 各版本情況 7.x改版後預設已經無法使用基於 webview 的自動化 檔案傳輸助手傳送 debugtbs.qq.com或者debugx5.qq.com 注意事項 webview 開關 x5核心除錯開關 x5核心...

python appium微信小程式自動化實現

放在例項化remote配置資訊中 向下滑動 31swipe op self.driver swipe down 32try 33 dcd 34 webdriverwait self.driver,100 until ec.visibility of element located by.xpath,...