我有一个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;
它再也不起作用,从上面的情况来看,它会给我同样的信息:
screenFactory.listMovies.size() equals 6;
screenFactory.listTvTitles.size() equals 4;
答案 0 :(得分:0)
如果没有看到应用程序的检查员视图,我可以给出的唯一建议是让您的开发人员在TV Title对象的内容描述中提供父信息。然后,您将拥有匹配这两个对象所需的关联。
然后,您将遍历每个电影标题,并且每次检查整个电视标题列表,以查找匹配的内容描述。
答案 1 :(得分:0)
谢谢!我只是想摆脱FindElement:
screenFactory.listMovies.get(i).FindElement(By.id("TvTitles"))
但似乎不可能......