如何使用Appium注释元素作为参数

时间:2019-05-09 12:34:31

标签: annotations appium lazy-loading page-factory

如果我没记错的话,第一次使用带注释的元素时会执行Appium元素查找(延迟初始化)。但是,这并非总是期望的行为(至少对我而言)。例如,如何在不尝试定位元素的情况下将元素作为参数传递给方法?

@AndroidFindBys(value = {
    @AndroidBy(id = "xx"),
})
private List<MobileElement> element;

public MyPage doSomething() {
    tapIfFound(element); // method in parent class
}

在这种情况下,我正在传递一个元素。这意味着该元素已经找到(或没有找到)。搜索是在调用该方法之前完成的。但是,我希望我要调用的方法检查元素是否存在,并且仅当我实际使用它时(而不是在将其作为参数传递时)才检查。这可能吗?问这个问题,因为我想通过在所有子类中编写相同的tapIfFound方法来防止重复代码。

0 个答案:

没有答案