Minium支持在开发者工具和真机上多端执行自动化脚本,处理弹窗的方式基本方式都是调用Native接口实现,但是在不同端运行时略有不同:
- 真机运行:用例脚本可直接调用Native实例接口处理
- 开发者工具运行:工具上运行时无法直接处理弹窗,需要先在
config.json
配置mock_native_modal
,然后用例脚本调用Native实例接口,原理是对弹窗预先进行了Mock处理
前文 微信小程序自动化测试框架 Minium —— 原生控件弹窗处理 (一) 主要介绍如何处理模态弹框、用户信息授权弹窗、显示操作菜单弹窗。
本文主要介绍如何处理地理位置授权弹窗、地图选择、订阅信息授权弹窗。另外,原生控件文章(三),主要介绍如何处理转发小程序弹窗
小程序demo参考 miniprogram-demo
地理位置授权弹窗(wx.getLocation)
地理位置授权弹窗由 wx.getLocation
引起的弹框,例如小程序JS代码
testGetLocation() {
wx.getLocation({
success(res) {
console.log(res)
},
fail(err) {
console.error(err)
}
})
}
处理方式
调用minium框架的Native实例中的 allow_get_location() 接口。关键代码如下,完整的示例可参考 minitest-demo中 test_allow_get_location
用例
self.app.get_current_page().get_element("#testGetLocation").tap()
# 授权位置
self.native.allow_get_location()
注意:IDE平台运行,config.json
需配置 mock_native_modal
,示例如下:
{
"project_path":"xxxx",
"dev_tool_path":"xxxx",