Airtest Project自動化測試方案除了支持原生應用,游戲,Web之外,也支持了最新推出的微信小程序和小游戲平台。
微信小程序
對於微信小程序,我們可以直接利用原生平台的Poco進行控件識別。微信小程序目前采用的內核信息可以參考官方文檔。我們用最新版(V7.0.4)的微信測試,可以直接用Android或者iOS poco模式對相應平台的小程序進行控件識別。如果無法使用,可能是由於部分Android設備的Webview內核設置問題,請參考文檔進行修改。
下面來分別看下Android和iOS上的效果:
Android小程序
連接Android手機,並打開微信小程序,以58同城小程序為例,在Airtest IDE中選擇Android
模式,可以對頁面進行控件識別:
代碼如下:
# -*- encoding=utf8 -*- __author__ = "11200" auto_setup(__file__) from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) from airtest.core.api import * #微信的 包名 weixin = "com.tencent.mm" #停止 微信 運行 stop_app(weixin) #返回到 桌面 home() #啟動微信 start_app(weixin) sleep(60.0) #向下滑動,出現微信小程序 poco.swipe((0.5,0.3),(0.5,0.8)) sleep(3.0) #點擊 搜索框 search_bar = poco(name="com.tencent.mm:id/lf") search_bar.click() sleep(20.0) #輸入美團外賣 poco(name="com.tencent.mm:id/bem").set_text("58同城") sleep(2.0) #點擊 搜索出來的 58同城 poco("android.widget.LinearLayout").offspring("android.widget.FrameLayout").child("android.webkit.WebView").child("android.webkit.WebView").offspring("app").child("android.widget.Button")[0].child("android.view.View")[1].child("android.view.View")[1].click() sleep(20.0) #點擊 位置信息 點擊 拒絕 poco(text="允許").click() # 彈窗提示 是否 切換 城市 選擇允許 poco(text="確定").click() #選擇 二手房 poco(text="二手方法").click() sleep(10,0) #獲取 找小區 文本信息 r = poco(text="找小區").get_text() #斷言 assert_equal(r,"找小區")