收藏
回答

小程序自动化测试该如何模拟触摸事件?

在小程序自动化测试的文档中(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: 328,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 328,

pageY: 97,

},

],

})

await swipeAction.touchmove({

touches: [

{

identifier: 0,

pageX: 324,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 324,

pageY: 97,

},

],

})

await swipeAction.touchmove({

touches: [

{

identifier: 0,

pageX: 322,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 322,

pageY: 97,

},

],

})

await swipeAction.touchmove({

touches: [

{

identifier: 0,

pageX: 318,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 318,

pageY: 97,

},

],

})

await swipeAction.touchmove({

touches: [

{

identifier: 0,

pageX: 315,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 315,

pageY: 97,

},

],

})

await swipeAction.touchmove({

touches: [

{

identifier: 0,

pageX: 310,

pageY: 97,

},

],

changedTouches: [

{

identifier: 0,

pageX: 310,

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是我抓取手动操作时获取的数据。

最后一次编辑于  11-19
回答关注问题邀请回答
收藏
问题标签