2016-02-10 1 views
0

Я хочу дважды нажать на координаты точек (672, 282). Я попытался использовать «MultiTouchAction», но результата не было. Этот код не работает для меня:Как я могу дважды щелкнуть по координатам точек с помощью устройства java, iOS?

`MultiTouchAction multiTouch = new MultiTouchAction(driver); 
    TouchAction action0 = new TouchAction(driver).tap(672, 282); 
    TouchAction action1 = new TouchAction(driver).tap(672, 282); 
    multiTouch.add(action0).add(action1).perform();` 
+0

я мог бы достичь ДО этого - https://groups.google.com/d/msg/appium-discuss/4jhVN4ySSGI/FH9slJqPWioJ ,Надеюсь, поможет. – nullpointer

+0

Ths, я пробовал этот метод, но нажатие только один раз. Что пошло не так? 'HashMap tapObject = new HashMap (); tapObject.put ("tapCount", 2.0); tapObject.put ("touchCount", 1.0); tapObject.put ("duration", 0.1); tapObject.put ("x", 672.0); tapObject.put ("y", 282.0); Драйвер JavascriptExecutor js = (JavascriptExecutor); js.executeScript («mobile: tap», tapObject); ' –

+0

Все работает хорошо, просто« длительность »должна быть« 0 »:' tapObject.put («duration», 0.0); '. Еще раз спасибо. –

ответ

0

Соглашаясь с @Gaurav Я хотел бы также предложить не использовать целые координаты экрана для выполнения действий, если ничего не работает для вас. Его лучше делать то же самое с использованием элементов на экране, и в идеале это должно работать:

HashMap<String, Object> tapObject = new HashMap<String, Object>(); tapObject.put("tapCount", 2.0); 
// tapObject.put("touchCount", 1.0); 
tapObject.put("duration", 0.0); 
// tapObject.put("x", 672.0); 
// tapObject.put("y", 282.0); 
tapObject.put("element", <find your element>.getId()); // the id of the element we want to tap 
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("mobile: tap", tapObject); 
+0

да, тыс. Но у моего элемента нет идентификатора или других локаторов. Я нахожу еще один элемент, расположенный ниже моего, от xpath и минус несколько px от него: 'Элемент WebElement = driver.findElement (By.xpath (" // UIAApplication [1]/UIAWindow [1]/UIASlider [1] ")); \t double x = element.getLocation(). GetX() + element.getSize(). GetWidth()/2; \t double y = element.getLocation(). GetY() + element.getSize(). GetHeight()/2 - 33; ' –

Смежные вопросы