我这边试是可以的,可能是某些情况才失败。能否给个可以复现的代码片段?
小程序自动化测试,调用自定义组件中的方法出错?根据https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/element.html中的文档说明,可以通过element.callMethod()来调用自定义组件中的方法。 不过在写测试用例的时候,发现调用不了自定义组件的方法。 const fapiaoList = await page.$('fapiao-list') await fapiaoList.callMethod('connectWebSocketIfNeed') 程序报错。 component.connectWebSocketIfNeed not exists at Transport.Connection.onMessage (node_modules/miniprogram-automator/out/Connection.js:1:957) at WebSocket.<anonymous> (node_modules/miniprogram-automator/out/Transport.js:1:246) at WebSocket.onMessage (node_modules/ws/lib/event-target.js:120:16) at Receiver.receiverOnMessage (node_modules/ws/lib/websocket.js:789:20) at Receiver.dataMessage (node_modules/ws/lib/receiver.js:422:14) at Receiver.getData (node_modules/ws/lib/receiver.js:352:17) at Receiver.startLoop (node_modules/ws/lib/receiver.js:138:22) at Receiver._write (node_modules/ws/lib/receiver.js:74:10) at Socket.socketOnData (node_modules/ws/lib/websocket.js:864:35) connectWebSocketIfNeed 这个方法在代码中是有的,在小程序中也可以运行,请帮忙看看,多谢!
2019-11-29bindtouchstart 对应的处理函数没触发吗?
小程序自动化测试该如何模拟触摸事件?在小程序自动化测试的文档中(https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/element.html)提到了用element.touchstart, element.touchmove and element.touchend来模拟滑动操作,不过我在写自动化用例的时候发现它并不能工作。具体测试代码如下: it(' swipe action', async () => { const swipeActions = await page.$$('swipe-action') const swipeAction = swipeActions[0] console.log(offset, await swipeAction.wxml()) await swipeAction.touchstart({ touches: [ { identifier: 0, pageX: 350, pageY: 97, }, ], changedTouches: [ { identifier: 0, pageX: 350, pageY: 97, }, ], }) await swipeAction.touchmove({ touches: [ { identifier: 0, pageX: 306, pageY: 97, }, ], changedTouches: [ { identifier: 0, pageX: 306, pageY: 97, }, ], }) await swipeAction.touchend({ touches: [], changedTouches: [ { identifier: 0, pageX: 139, pageY: 97, }, ], }) await page.waitFor(500) }) 请问该如何模拟滑动事件?这上面的pageX和pageY是我抓取手动操作时获取的数据。
2019-11-20trigger 只能触发事件,不会改变 ui 状态,后续会提供独立的 input 事件解决这种情况。
自动化测试input 框输入不了?formpage = await miniProgram.currentPage() input = await formpage.$$('input') // await input[0].tap() await input[0].trigger('focus') await input[0].trigger('input',{value: "dff"}) picker = await formpage.$$('picker') await picker[0].trigger('change',{value: 1}) // await input[0].trigger('blur') // console.log(await input[0].value()) expect(await input[0].value()).toBe('') expect(await picker[0].value()).toBe(1) 这个测试是通过的,input框能触发input事件,但value没变
2019-11-15超时设置长一些试试,15秒以上。5秒太短了,工具都还没启动。。
小程序自动化运行报错?[图片] [图片][图片]
2019-11-12出错原因是前一个,Failed to xxx。看截图 cli 地址写得有点问题。把 cli.bat 前的 \ 改成 / 试下。。
小程序自动化脚本TypeError: Cannotread property '$' of und?[图片] [图片]
2019-11-11图中已经提示了,脚本里面至少要包含一个测试,类似于 it('xxx', () => expect('xxx').toBe('xxx')) 这样的代码,详细用法可以搜索下 jest 测试框架的教程。
小程序自动化运行出现Your test suite must contain at least ?[图片] [图片] [图片]
2019-11-08目录下面必须要有 package.json 或者 jest.config.js 文件,可以先 npm init 创建 package.json 文件后再按教程安装 jest。
小程序自动化在VSCODE运行报错?求解![图片]
2019-11-08你的项目是用 typescript 写的吗?又或者启用了预处理命令?
小程序上传体验版代码时包TypeError: Cannot read property ?[图片] 每次上传只有清除缓存才不报错,之后只要修改代码再上传就还需要清除缓存
2019-11-08编辑器这边正在进行重构,重构完之后将会改善此类问题。
使用ctr+p快速打开文件工具,不能重新开启一个标签页,为什么取代当前的标签页?在当前页面A.js,使用快捷键ctr+p调启快速打开文件工具,搜索B.js页面点击进入B时A页面被覆盖,应该重新启动一个标签才合适吧。
2019-11-07这边试了是可以的,你的工具版本是?
开发工具调试 网络抓包不能清空?点击下图左上角的清空按钮 下面的时间线没有清空。这个bug 困扰我很久了,啥时候修复? [图片]
2019-11-07