在 appium 中拖放更快
drag&drop faster in appium
我正在使用 webdriver.io 库通过 appium 测试应用程序。在那里我有简单的 JS 代码,我在其中打开屏幕测试应用程序,然后从一点到另一点画线。问题是我不知道如何改变线条绘制的速度。我找不到任何文档。
这是我的全部代码:
const wdio = require("webdriverio")
const opts = {
port: 4723,
capabilities: {
platformName: "Android",
deviceName: "cbb3309d",
appPackage: "jp.rallwell.siriuth.touchscreentest",
appActivity: ".TouchScreenTestActivity",
automationName: "UiAutomator2",
noReset: true,
}
}
function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function main() {
const client = await wdio.remote(opts)
client.setTimeouts(15000)
await timeout(5000)
client.touchAction([
{ action: 'longPress', x: 500, y: 100,},
{ action: 'moveTo', x: 500, y: 2000},
'release'
])
}
main()
我发现它还有另一个函数,所以我创建了自己的函数:
async function dragAndDrop(options) {
let actions = new wd.W3CActions(driver);
let touchInput = actions.addTouchInput();
touchInput.pointerMove({
duration: 0,
x: options.fromX,
y: options.fromY
});
touchInput.pointerDown({
button: 0
});
touchInput.pause({
duration: options.pressTime
});
touchInput.pointerMove({
duration: options.moveTime,
x: options.toX,
y: options.toY
});
touchInput.pause({
duration: options.releaseTime
});
touchInput.pointerUp({
button: 0
});
await actions.perform();
}
我正在使用 webdriver.io 库通过 appium 测试应用程序。在那里我有简单的 JS 代码,我在其中打开屏幕测试应用程序,然后从一点到另一点画线。问题是我不知道如何改变线条绘制的速度。我找不到任何文档。
这是我的全部代码:
const wdio = require("webdriverio")
const opts = {
port: 4723,
capabilities: {
platformName: "Android",
deviceName: "cbb3309d",
appPackage: "jp.rallwell.siriuth.touchscreentest",
appActivity: ".TouchScreenTestActivity",
automationName: "UiAutomator2",
noReset: true,
}
}
function timeout(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function main() {
const client = await wdio.remote(opts)
client.setTimeouts(15000)
await timeout(5000)
client.touchAction([
{ action: 'longPress', x: 500, y: 100,},
{ action: 'moveTo', x: 500, y: 2000},
'release'
])
}
main()
我发现它还有另一个函数,所以我创建了自己的函数:
async function dragAndDrop(options) {
let actions = new wd.W3CActions(driver);
let touchInput = actions.addTouchInput();
touchInput.pointerMove({
duration: 0,
x: options.fromX,
y: options.fromY
});
touchInput.pointerDown({
button: 0
});
touchInput.pause({
duration: options.pressTime
});
touchInput.pointerMove({
duration: options.moveTime,
x: options.toX,
y: options.toY
});
touchInput.pause({
duration: options.releaseTime
});
touchInput.pointerUp({
button: 0
});
await actions.perform();
}