Ich konnte @FindBy erfolgreich mit PageFactory verwenden, aber die Person, die mich ausbildet, besteht darauf, dass ich @FindBy immer noch verwenden kann, ohne PageFactory zu verwenden. Er zeigte mir seinen Code und auf den ersten Blick scheint es, dass er keine PageFactory benutzt. Ohne Verwendung von PageFactory erhalte ich jedoch immer die NullPointerException. Ich habe ihn gebeten, sich meinen Code anzuschauen und ... naja, er scheint nicht zu wissen, warum mein Code auch nicht funktioniert. Ich hoffe, ich könnte neue Augenpaare bekommen, um mich aufzuklären.Verwenden von @FindBy in Selen ohne PageFactory
Hier ist ein Ausschnitt aus meinem Code
public class BaseClass {
public WebDriver driver;
private String title;
private Wait<WebDriver> wait;
public BaseClass(WebDriver driver, String title) {
this.driver = driver;
this.title = title;
wait = new FluentWait<WebDriver>(driver).withTimeout(45, TimeUnit.SECONDS).pollingEvery(2, TimeUnit.SECONDS);
}
}
//
public class Test extends BaseClass {
public Test(WebDriver driver) {
super(driver, "Login page");
}
@FindBy(name="j_password")
public WebElement password;
@FindBy(name="j_username")
public WebElement username;
public void startest() throws Exception {
username.clear();
username.sendKeys(id);
password.clear();
password.sendKeys(secret); }
}
Ich glaube nicht, dass es eine Möglichkeit gibt, @FindBy ohne pagefactory zu verwenden – kushal