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,"找小区")