我正在尝试将RecyclerView中的项目描述为对象并将这些可用项目放在列表中,但列表大小始终返回为0:
public class DealsListLayout {
private Waiter waiter;
@FindBy(id = "com.deals.test:id/deals_item_content_view")
private List<DealsItem> listOfElements;
public DealsListLayout() {
waiter = new Waiter();
init();
listOfElements = new ArrayList<>();
printInfo("Size " + listOfElements.size());
}
private void init() {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
}
描述DealsItem类的部分如下所示:
public class DealsItem {
@FindBy(id = "com.deals.test/deals_item_asset_name_textview")
private MobileElement dealName;
@FindBy(id = "com.deals.test:id/deals_item_time_open_textview")
private MobileElement dealStartTime;
public DealsItem() {
init();
}
private void init() {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
}
所以问题是为什么listOfElements
返回为空。如果我这样做:
listOfElements = driver.findElements(By.id("com.deals.test:id/deals_item_content_view"));
它在屏幕上正好返回了我现在拥有的2个元素。 有什么建议? 如果它重复 - 请给我一个答案的链接,因为我用谷歌搜索了几次并找不到答案。