Я наконец смог выполнить код следующим образом:
без создания или использования какого-либо объекта для TouchAction и TapOptions, он работал так, как показано ниже. Ранее код находил первый элемент (Views) и до .click () работал, но Appium не читал его. С помощью этих ссылок ( Ошибка при попытке сенсорных действий с помощью Appium ) && ( ClassCastException при использовании Appium TouchActions ) мне каким-то образом удалось внести изменения в мой код, и они отлично работали .
Более того, во 2-й последней строке кода,
TouchActions подчеркнуто желтым (предупреждающим) цветом, который гласит: «TouchAction - необработанный тип. Ссылки на универсальный тип TouchAction должны быть параметризованы». Я все еще хочу знать, как можно разрешить эти и подобные предупреждения.
импорт статического io.appium.java_client.touch.TapOptions.tapOptions;
импорт статического io.appium.java_client.touch.WaitOptions.waitOptions;
импорт статического io.appium.java_client.touch.offset.ElementOption.element;
import java.net.MalformedURLException;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebElement;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
публичный класс Жесты расширяет Родителя {
public static void main (String [] args) выдает MalformedURLException {
// TODO Автоматически генерируемая заглушка метода
Драйвер AndroidDriver = Capabilities ();
driver.findElementByXPath ("// android.widget.TextView [@ text = 'Views']"). Click ();
// чтобы сделать нажатие на устройство, Appium_team сделали class = TouchActions
TapOptions t = новые TapOptions ();
WebElement expandList = driver.findElementByXPath ("// android.widget.TextView [@ text = 'Расширяемые списки']");
new TouchAction (драйвер) .tap (tapOptions (). WithElement (element (expandList))). WaitAction (waitOptions (Duration.ofMillis (250))). Execute ();
driver.manage (). Timeouts (). ImplicitlyWait (60, TimeUnit.SECONDS); }}