我有以下方法:
public static WebElement getElement(String element, WebDriver driver){
Class<LoginPage> types=LoginPage.class;
java.lang.reflect.Field field=types.getDeclaredField(element);
field.setAccessible(true);
WebElement webelement=(WebElement)field.get(element);
return webElement;
}
以下是使用LoginPage类。 getDeclaredField和field.get(element)方法将返回给我 LoginPage.class中定义的字段。 我们如何定义一个泛型的Class方法,它可以采用任何类型的ClassName?
答案 0 :(得分:1)
只需将Class
变量设为方法参数:
public static WebElement getElement(String element, WebDriver driver, Class<?> clazz){
java.lang.reflect.Field field=clazz.getDeclaredField(element);
field.setAccessible(true);
WebElement webelement=(WebElement)field.get(element);
return webElement;
}
示例电话:
WebElement e = getElement("elementName", driver, LoginPage.class);