我想对Android应用中的按钮执行10次快速点击操作(更喜欢0.5秒),但只需点击10次'间隙太长(约1.5秒间隙)。 想知道缩短Appium Java中每次点击之间差距的正确方法是什么? 提前谢谢你:)
for(int i=1; i<11; i++){
driver.findElement(By.id("btnA")).click();
}
答案 0 :(得分:0)
您可以查看TouchAction / MultiAction类,您可以在其中定义事件序列,然后立即执行: https://appium.io/docs/en/writing-running-appium/touch-actions/
在您的情况下,它可能看起来像这样(2次点击的例子)
MobileElement el = driver.findElement(By.id("btnA"))
TouchAction action0 = new TouchAction(driver).tap(el)
TouchAction action1 = new TouchAction(driver).tap(el)
MultiAction(driver).add(action0).add(action1).perform()
希望你有这个想法
答案 1 :(得分:0)
在你的情况下,你每次都在for循环中找到元素,这会占用你注意到的额外时间。为了缩短你的时间,如果你找到一次元素并多次点击它就会更好。
E.g。
postgres
希望它有所帮助。
答案 2 :(得分:0)
你的方法花了我 5882ms 。
Wasiq Bhamla方法带我 3622ms 。
dmle不起作用,因为这是同时点击,所以即使使用10个TouchAction,它也会点击一次。它的MultiTouchAction和tap(el)也已被弃用。
使用10个独立水龙头的dmle概念:
for (int i = 1; i < 11; i++) {
new TouchAction(driver).tap(element).perform();
}
它花了我 6915ms
使用.press(el).release()。按(el)...代码(也弃用):
TouchAction action =new TouchAction(driver);
for (int i = 1; i < 11; i++) {
action.press(element).release();
}
action.perform();
它花了我 25285ms WOW
所以Wasiq Bhamla方法赢了......我在Windows 10上使用appium 1.8.0 beta 3和java客户端6.0.0 beta 4。