我是Java-8和appium的新手,并试图用Java-8编写webdriver,如下所述
目前,下面的代码运行良好,但我不想像下面第5行和第6行中提到的那样,将函数和消费者分别写成行,我想更多地优化代码,比如在Function.Thanks中或者在消费者内部的函数!预先
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();
}
}发布于 2017-11-20 20:01:42
您的函数或使用者变量不需要只是方法引用,您可以使用lambda表达式定义任何您想要的方法主体。我猜你想要这样的东西:
BiConsumer<String, WebDriver> findAndClick = (locator, webdriver) -> webdriver.findElement(By.xpath(locator)).click();https://stackoverflow.com/questions/47398468
复制相似问题