Appium - Java Action Check
Я работаю над тестовым сценарием, который работает с Appium (Selenium) на Java для мобильных устройств. В скрипте есть следующие коды:
_driver2.swipe(startXL, startYL, endXL, endYL, 100);
а также
_driver2.tap(1, startX, startY, 100);
Эти методы смахивают игровой объект или нажимают на кнопку в игре.
Вот некоторые подробности: метод смахивания использует абсолютные местоположения на экране. Метод касания использует местоположение, которое рассчитывается с помощью функции распознавания изображений.
Вот мой вопрос: пока идет тест; если экран устройства отличается от ожидаемого, например, push-уведомления или собственные диалоговые окна, тест не останавливается и все еще пытается найти изображение / местоположение, а затем нажимает / проводит пальцем.
Я хочу, чтобы он остановился, если экран отличается от ожидаемого или игровой объект не двигался.
Мой вопрос, вероятно, не ясен, но я могу дать вам подробный комментарий за комментарием. Заранее спасибо.
2 ответа
Step 1:
public boolean isElementFound(String element)
{
try{
WebElement webElement = driver.findElement(By.xpath(element));
System.out.println("isElementFound : true :"+element);
}catch(NoSuchElementException e){
System.out.println("isElementFound : false :"+element);
return false;
}
Step 2 : while(isElementFound(String element))
{
TouchAction touchAction = new TouchAction(appiumDriver);
System.out.println(startx+" "+starty);
System.out.println("Entering swipe");
System.out.println("Swipe from "+startx +" " +starty +"to" +endx +" " +endy );
touchAction.press(startx, starty).waitAction(duration).moveTo(endx,endy).release().perform();
// WebElement webElement = appiumDriver.findElement(By.xpath(element));
webElement.click();
}
Вы можете использовать простое условие if else
Если элемент найден {Swipe}
Else {Выполнить другое действие}