我试图在第一个屏幕上点击一个元素[例如,一个名为Views的元素],然后单击它,将打开一个新屏幕,在那里我想点击一个名为[Expandable Lists]的元素。
因此,在第二次尝试中,我想对我使用Tap功能。 Tap()功能不起作用,而使用 .click()则水龙头起作用。请查看直到这一步为止我编写的代码:
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();
}
}
答案 0 :(得分:0)
您可以使用 click()代替 tap()。
要确保click()正常运行,可以检查单击按钮后是否出现预期的屏幕。