不受支持的 CSS 选择器 '*[name='username']'。原因:'错误:'名称'不是有效的属性 - Appium PageFactory

问题描述 投票:0回答:1

大家好!

我遇到了下一个问题: 我正在尝试在我的 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 工作正常。

appium page-factory
1个回答
0
投票

@rayad 你能解决这个问题吗?我也面临着同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.