await page.$('.uploader') 报错Cannot read property '$' of undefined 应该是page = await miniProgram.reLaunch('/page/component/index')没有获取到, 1)await page.waitFor(500) 应该是500太小了,调大些, 2)查看电脑任务管理器,看看后台进程中是不是有很多的小程序开发工具的进程,结束掉 3)电脑太累了。。。关闭一些软件试试呢,尴尬。。。。。
小程序自动化报错Cannot read property '$' of undefined?请教: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 如何解决?
2021-01-07automator.launch().then(async miniProgram => { const page = await miniProgram.currentPage() let element = await page.$('.index-hd') element = await element.$('.index-desc') console.log(await element.text()) }) 其实element 就是 await page.$('.index-hd')的结果
新手 自动化 写element就报错?UnhandledPromiseRejectionWarning: TypeError: element.attribute is not a function page什么的可以用,写element相关的就把错了,怎么办,或者去哪学? ball ball 大家
2021-01-06[图片] 这个projectPath是项目文件地址,应该指向小程序代码所在的文件地址,如果这个地址不对也会报错please make sure http port is open 其他注意事项可以参考:https://developers.weixin.qq.com/community/develop/article/doc/000aaa578dce20b775ba3c1bb56013
小程序自动化SDK调用 为啥按照官方做了,还是报错?[图片] [图片] Error: Failed to launch wechat web devTools, please make sure http port is open
2021-01-06