Я пытаюсь нажать на элемент на 1-м экране [скажем, элемент с именем Views], и после его нажатия открывается новый экран, и там я хочу нажать на элемент с именем [Расширяемые списки].
Поэтому со 2-й попытки я хочу использовать функцию Tap к операции для меня. Функция Tap () не работает, тогда как при использовании .click () функция Tap работает.Пожалуйста, посмотрите на код, который я написал до этого шага:
import java.net.MalformedURLException;
import java.time.Duration;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.touch.TouchActions;
import org.openqa.selenium.interactions.touch.TouchActions.*;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import static io.appium.java_client.touch.TapOptions.tapOptions;
import static io.appium.java_client.touch.offset.ElementOption.element;
import static io.appium.java_client.touch.WaitOptions.waitOptions;
public class Gestures extends Parent {
public static void main(String[] args) throws MalformedURLException {
// TODO Auto-generated method stub
AndroidDriver<AndroidElement> driver = Capabilities();
driver.findElementByXPath("//android.widget.TextView[@text= 'Views']").click();
TouchActions t = new TouchActions(driver);
WebElement expandList= driver.findElementByXPath("//android.widget.TextView[@text='Expandable Lists']");
//t.tap(tapOptions().withElement(element(webElement)));
// for element we need to import it's library just like we did
//for the WebElement
t.singleTap(expandList);
t.perform();
TouchAction(driver).tap(tapOptions()
.withElement(element(expandList)))
.waitAction(waitOptions(Duration.ofMillis(250))).perform();
}
}