微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java8与Selenium WebDriver

我是Java-8和Appium的新手,并尝试使用Java-8编写我的webdriver代码,如下所述

目前下面的代码可以正常工作,但我不想在下面的第5行和第6行中分别在单独的行中编写Function和Consumer,我想进一步优化代码,例如在Consumer中使用Function或在Function中使用Consumer.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();
     }
}

解决方法:

您的函数或使用者变量不必只是方法引用,您可以使用lambda表达式定义所需的任何方法主体.我猜你要求这样的事情:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐