小程序自动化报错Cannot read property '$' of undefined?
发布于 5 年前 作者 yong69 11105 次浏览 来自 官方Issues

请教:miniprogram-automator

根据官方文档脚本示例:

// 启动并连接工具

// 重新启动小程序到首页

// 断开连接并关闭工具


const automator = require('miniprogram-automator')

let miniProgram

let page

describe('index', () => {

 

  beforeAll(async () => {

    miniProgram = await automator.launch({

      projectPath: 'E:/study/test/miniprogram-demo-master/miniprogrampath/',

      cliPath:'D:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat'

    })

    try{

       page = await miniProgram.reLaunch('/page/component/index')

      }

      catch(e){

       // 处理出错情况

    console.log(e.message)

      }

   

    await page.waitFor(500)

  }, 30000)


  afterAll(async () => {

    await miniProgram.close()

  })

})


  


// 1. 测试顶部描述

// 通过 .index-desc 选择器获取目标元素

// 目标元素应该是个 view 组件

// 目标元素应该包含有“以下将展示小程序官方组件能力”的文本

it('desc', async () => {

  const desc = await page.$('.index-desc')

  expect(desc.tagName).toBe('view')

  expect(await desc.text()).toContain('以下将展示小程序官方组件能力')

})

// 2. 测试列表项

// 获取列表元素集合

// 目标元素集的个数应该是 8 个

// 第一个列表元素的标题应该是“视图窗器”

// it('list', async () => {

//   const lists = await page.$$('.kind-list-item')

//   expect(lists.length).toBe(9)

//   const list = await lists[0].$('.kind-list-item-hd')

//   expect(await list.text()).toBe('视图容器')

// })


// 3. 测试列表项行为

// 点击列表标题应该展示或隐藏子列表

// 点击子列表项应该会跳转到指定页面

// it('list action', async () => {

//   const listHead = await page.$('.kind-list-item-hd')

//   expect(await listHead.attribute('class')).toBe('kind-list-item-hd')

//   await listHead.tap()

//   await page.waitFor(200)

//   expect(await listHead.attribute('class')).toBe(

//     'kind-list-item-hd kind-list-item-hd-show',

//   )

//   await listHead.tap()

//   await page.waitFor(200)

//   expect(await listHead.attribute('class')).toBe('kind-list-item-hd')

//   await listHead.tap()

//   await page.waitFor(200)

//   const item = await page.$('.index-bd navigator')

//   await item.tap()

//   await page.waitFor(500)

//   expect((await miniProgram.currentPage()).path).toBe('page/component/pages/view/view')

// })



jest index.spec.js

运行后报错:

TypeError: Cannot read property ‘$’ of undefined

如何解决?

回到顶部