我正在使用appium java-client 4.1.2和selenium 3.1.0
所以我有这个方法,当在主屏幕上单击一个按钮时返回一个RegisterSelectionPage对象。下面的代码片段属于MainScreen Page Object,其中有一个单击注册按钮的功能。
public RegisterSelectionPage clickRegister(){
registerButton = driver.findElement(By.id("com.test.app:id/btn_register"));
registerButton.click();
return PageFactory.initElements(new AppiumFieldDecorator(driver), RegisterSelectionPage.class);
}
返回行在IntelliJ中基本上用红色加下划线,并且警告说类型不兼容。
必需:com.example.app.screens.RegisterSelectionPage Found:void
这似乎只发生在PageFactory.initElements()是' return'对象
为了提供更多上下文,RegisterSelectionPage如下所示:
public class RegisterSelectionPage {
private WebDriver driver;
@AndroidFindBy(id = "")//will add the later
WebElement registerWithEmailLink;
public RegisterSelectionPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
}