收藏
回答

自动化测试怎么组织多文件测试?

当运行两个单文件 *.spec.js,并各自这样定义 beforeAll,afterAll 钩子

// index.spec.js
beforeAll(async () => {
  miniProgram = await automator.launch({
    cliPath: '/Applications/wechatwebdevtools.app/Contents/MacOS/cli',
    projectPath: './'
  })
  page = await miniProgram.currentPage();
  await page.waitFor(500)
}, 50000)

afterAll(async () => {
  await miniProgram.close()
})
// about.spec.js

beforeAll(async () => {
  miniProgram = await automator.launch({
    cliPath: '/Applications/wechatwebdevtools.app/Contents/MacOS/cli',
    projectPath: './'
  })
  page = await miniProgram.reLaunch('../about/about');
  await page.waitFor(500)
}, 50000)

afterAll(async () => {
  await miniProgram.close()
})


分开运行单个 *.spec.js 测试一切正常,但一起运行的时候,后执行的那个测试用例就会报错,大概意思就是 Failed to launch wechat web devTools, 是不是因为前一个测试文件执行的 `miniProgram.close()` 之后,后面测试文件再 `automator.launch()` 的时候就无法正常打开

如果我删掉 afterAll 钩子,那么后一个执行的测试用例就会报错  page destroyed...

那么请问,多个测试用例脚本应该怎么来组织测试,不可能所有的测试用例写在一个文件里吧

最后一次编辑于  2020-12-18
回答关注问题邀请回答
收藏

1 个回答

  • 平常心
    平常心
    2020-12-28

    我感觉你不应该用miniProgram.close()吧,这样,小程序关闭,还怎么能打开小程序里边的页面啊,那另一个页面的launch()方法页就调用不到吧,感觉你这个脚本里边的业务逻辑执行顺序有问题,可以自己检查一下

    2020-12-28
    有用
    回复 1
    • 叫什么好呢
      叫什么好呢
      2021-07-07
      我已经描述了


      “ 是不是因为前一个测试文件执行的 `miniProgram.close()` 之后,后面测试文件再 `automator.launch()` 的时候就无法正常打开”


      然后设置不调用,也不行,所以来请教应该如何组织
      2021-07-07
      回复
登录 后发表内容
问题标签