Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有SeleniumWebDriver的Java8_Java_Selenium_Java 8_Appium - Fatal编程技术网

带有SeleniumWebDriver的Java8

带有SeleniumWebDriver的Java8,java,selenium,java-8,appium,Java,Selenium,Java 8,Appium,我不熟悉Java-8和appium,并尝试在Java-8中编写我的webdriver代码,如下所述 目前,下面的代码运行良好,但我不想像下面第5行和第6行中提到的那样,在单独的行中编写函数和消费者,我想进一步优化代码,即类似于消费者中的函数或函数中的消费者。谢谢!提前 public class Gestures_Drag_And_Drop { AndroidDriver<AndroidElement> driver; Function<String, A

我不熟悉
Java-8
和appium,并尝试在
Java-8
中编写我的webdriver代码,如下所述

目前,下面的代码运行良好,但我不想像下面第5行和第6行中提到的那样,在单独的行中编写函数和消费者,我想进一步优化代码,即类似于消费者中的函数或函数中的消费者。谢谢!提前

public class Gestures_Drag_And_Drop {

     AndroidDriver<AndroidElement> driver;

     Function<String, AndroidElement> F = driver::findElementByXPath;//line 5
     Consumer<AndroidElement> C = AndroidElement::click;  //line 6

     Gestures_Drag_And_Drop() {
         C.accept(F.apply("//android.widget.TextView[@text='Views']"));
     }

     public static void main(String[] args) throws MalformedURLException {
         new Gestures_Drag_And_Drop();
     }
}
公共类手势\u拖放{
机器人驱动;
函数F=driver::findelementbypath;//第5行
消费者C=AndroidElement::单击;//第6行
手势拖动和拖放(){
C.accept(F.apply(“//android.widget.TextView[@text='Views']”);
}
publicstaticvoidmain(字符串[]args)引发畸形的DurLexException{
新的手势“拖放”();
}
}

您的函数或使用者变量不需要只是方法引用,您可以使用lambda表达式定义您想要的任何方法体。我猜你是在要求这样的东西:

BiConsumer<String, WebDriver> findAndClick = (locator, webdriver) -> webdriver.findElement(By.xpath(locator)).click();
BiConsumer findAndClick=(locator,webdriver)->webdriver.findElement(By.xpath(locator)).click();