我们可以制作一个既可以同时包含移动元素又可以包含网络元素的泛型函数吗?

时间:2018-07-06 06:48:36

标签: selenium appium

public static < E > void clickOnElement( E element ) {

    }  

我正在尝试制作一个通用函数,在使用硒时可以将元素类型作为WebElement,在使用appium时可以将元素类型作为MobileElement,以便我可以执行click事件。有人知道如何实现吗?

1 个答案:

答案 0 :(得分:0)

由于MobileElement实现了WebElement接口,因此您可以简单地将WebElement对象本身用于您的click()方法。

考虑到,您仍然仍然想创建一个通用方法,无需使用Generics,只需使用Object class即可实现:

public static void clickOnElement(Object element ) {

String className = element.getClass().getName();

if(className.contains('WebElement'))
{
 //do your WebElement stuff
}

else if(className.contains('MobileElement'))
{
 //do your MobileElement stuff
}
}