airtest实现微信小程序测试


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM