Während durch den Selen-Quellcode suchen bemerkte ich folgende in der PageFactory:Redeklaration der Parameter
public static <T> T initElements(WebDriver driver, Class<T> pageClassToProxy) {
T page = instantiatePage(driver, pageClassToProxy);
initElements(driver, page);
return page;
}
public static void initElements(WebDriver driver, Object page) {
final WebDriver driverRef = driver;
initElements(new DefaultElementLocatorFactory(driverRef), page);
}
Was ist der Nutzen Sie die folgende Zeile zu haben?
final WebDriver driverRef = driver;
Wäre es nicht sinnvoll gewesen, nur die Parameter endgültig zu machen, und dann vorbei, dass zusammen mit der nächsten Methode, ohne die neue Referenz zu deklarieren?
Ja. Das wäre sinnvoller gewesen. –
Vielleicht war dem Entwickler der 'final'-Modifikator nicht bekannt? lolz – user1329572
Während dies die Frage nicht beantwortet, vermute ich sehr, dass es aus dem Bytecode von der jvm als No-Op kompiliert werden würde. – corsiKa