收藏
回答

小程序自动化测试工具miniprogram-automator如何断言wx.showToast组件?

miniprogram-automator小程序自动化测试工具,如何去断言wx.showToast组件的提示框?失败或者成功都有提示框,只是传入给showToast的title,image,duration不同。可以通过获取传入的参数去断言吗?

回答关注问题邀请回答
收藏

2 个回答

  • RedHood
    RedHood
    2020-04-21

    原生组件的状态不支持获取,你可以在 showToast 被调用前对该 api 进行 mock 获取当前调用参数。

    let currentToastTitle = '';
    await miniProgram.exposeFunction('setToastTitle', function (title) {
        currentToastTitle = title
    })
    await miniProgram.mockWxMethod('showToast', function (obj) {
        setToastTitle(obj.title)
    })
    // showToast 被触发后
    expect(currentToastTitle).toBe('xxxx')
    
    2020-04-21
    有用
    回复 6
    • 不着调调的小情绪
      不着调调的小情绪
      2020-04-21
      这样写会提示我currentToastTitle变量  Received的值是空的 ,和期望的值不相等,请问下要如何解决啊
      2020-04-21
      回复
    • 不着调调的小情绪
      不着调调的小情绪
      2020-04-21
      看错了,已解决,感谢。。
      2020-04-21
      回复
    • 鹏波
      鹏波
      2020-06-30回复不着调调的小情绪
      你好,遇到了这个情况,"提示我currentToastTitle变量 Received的值是空的",请教下这个是怎么解决的?
      2020-06-30
      1
      回复
    • 境界
      境界
      2020-10-06
      你好,使用了你的方法,会报一个错,导致提示框不显示,但获取的currentToastTitle是有的,所以能通过测试,但看不到提示框
      2020-10-06
      回复
    • L²⁰²⁴
      L²⁰²⁴
      2020-11-04回复不着调调的小情绪
      说下怎么解决的呗,按照官方提供的代码就是有问题呀
      2020-11-04
      回复
    查看更多(1)
  • L²⁰²⁴
    L²⁰²⁴
    2020-11-04
     验证了一下,上述代码在page中可以使用,但是如果拦截的是自定义组件中的方法触发的 wx.showToast ,就无效了,没拦截住。
    
    2020-11-04
    有用
    回复
登录 后发表内容
问题标签