大家好!
我遇到了下一个问题: 我正在尝试在我的 appium 项目中使用 PageFactory,但还没有成功。
public class LoginPageObjects {
AppiumDriver driver;
@AndroidFindBy(id = "username")
public WebElement username;
@AndroidFindBy(id = "password")
public WebElement passwordElement;
@AndroidFindBy(xpath = "//android.view.ViewGroup[@content-desc=\"loginBtn\"]/android.widget.TextView\n")
public WebElement buttonElement;
public LoginPageObjects(AppiumDriver driver){
this.driver = driver;
PageFactory.initElements(driver,this);
}
public void setUsernameTextBox(String text){
username.sendKeys(text);
}
public void setPasswordTextBox(String text){
passwordElement.sendKeys(text);
}
public void clickLoginButton() {
passwordElement.click();
}
}
这样不行,调用 username.sendKeys() 时出现以下错误:
Unsupported CSS selector '*[name='username']'. Reason: 'Error: 'name' is not a valid attribute.
我也尝试过的地方
PageFactory.initElements(new AppiumFieldDecorator(driver),this);
但这会引发一个新错误
目前使用:
io.appium 8.0.0; org.seleniumhq.selenium 4.1.3; JDK v18
Pst:具有相同版本的 Selenium 中的 PageFactory 工作正常。
@rayad 你能解决这个问题吗?我也面临着同样的问题