自动化测试工具automator 断言 wx.showToast在插件中无效?
let currentToastTitle = ''
await miniProgram.exposeFunction('setToastTitle', function (title) {
currentToastTitle = title
})
await miniProgram.mockWxMethod('showToast', function (obj) {
console.log('showToast', obj)
setToastTitle(obj.title)
})
it.only('mock toast', async ()=>{
page = await miniProgram.redirectTo('/pages/main/index/index')
await page.waitFor(3000)
const testMock = await page.$('test-mock-comp') // test-mock-comp 为自定组件
const testMockBtn = await testMock.$('.test-mock-btn')
testMockBtn.tap()
await page.waitFor(3000)
expect(currentToastTitle).toBe('aaa') // 这个 case OK
const myClip = await page.$('test-mock-comp-from-plugin') // test-mock-comp-from-plugin 为插件中的自定义组件
const countDownBtn = await myClip.$('.opt-item-countdown')
await countDownBtn.tap()
await page.waitFor(3000)
expect(currentToastTitle).toBe('bbb') // 这个 case NG
},60000)
OK 的 case会拦截到 wx.showToast 方法,不会出现toast弹框,断言OK
NG 的 case 无法拦截到 wx.showToast 方法,弹框依旧会出现,断言NG
怎么解决这种问题呢?还是我姿势不对?