【发布时间】:2018-07-07 17:07:57
【问题描述】:
我有一个pageFactory 类:
public class screenFactory {
@AndroidFindBy(id = "itemFilm")
public List<MobileElement> listMovies;
@AndroidFindBy(id = "tvTitle")
public List<MobileElement> listTvTitle;
}
每个itemFilm 都包含tvTitle(有时不包含)。
问题:如何仅使用 pageFactory 进行检查?
假设情况1:
screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 6;
那么一切都很好!
假设情况2:
screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 4;
那么我们有一个问题,如何检测listMovies 的哪些元素包含tvTitles 作为子元素,哪些不包含?
换句话说,有两个List<MobileElement>,有没有办法将元素与MobileElement 进行子/父功能比较?
问题来自要求不要在主函数中使用By.id("id")或其他定位器,而只能使用screenFactory!
如果我在screenFactory 中使用这个:
@HowToUseLocators(androidAutomation = LocatorGroupStrategy.CHAIN)
@AndroidFindBy(id = "itemFilm")
@AndroidFindBy(id = "tvTitle")
public List<MobileElement> listTvTitle;
它不再起作用了,因为在上面的情况#2 中它会给我同样的结果:
screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 4;
【问题讨论】:
-
您能提供您的应用程序的检查器视图吗?如果没有看到这一点,很难建议如何关联这两种对象类型。