我正在尝试创建一个 JInvocation,例如:-
driver.manage().timeouts().implicitlyWait(10L, (TimeUnit.SECONDS));
这是我用来生成相同的代码块:-
public static JInvocation implicitWait(JVar driverJVar, Long implicitWaitTime, TimeUnit timeUnit) {
JClass timeUnitType = (JClass) BasicUtility.getReferenceForClass(TimeUnit.class);
JExpression jExpression = JExpr.direct(timeUnitType.name().concat(".").concat(timeUnit.name()));
return driverJVar.invoke("manage").invoke("timeouts").invoke("implicitlyWait").arg(JExpr.lit(implicitWaitTime)).arg(jExpression);
}
这很完美,唯一的问题是 TimeUnit 没有为此创建导入语句。我必须手动放置。有没有其他方法可以使用枚举值并作为参数传递?