appium 中 LocatorGroupStrategy.CHAIN 和 ALL_POSSIBLE 有什么区别?

What is the difference between LocatorGroupStrategy.CHAIN and ALL_POSSIBLE in appium?

LocatorGroupStrategy.CHAINALL_POSSIBLE有什么区别?

谁能举例说明一下?

ALL_POSSIBLE:它将匹配您提供的定位器中的第一个定位器策略,例如:

@HowToUseLocators(androidAutomation = ALL_POSSIBLE, iOSAutomation =
ALL_POSSIBLE)
@FindAll{@FindBy(someStrategy1), @FindBy(someStrategy2)})
@AndroidFindBy(fakeID1) @AndroidFindBy(someStrategy2)
@iOSFindBy(fakeID1) @iOSFindBy(someStrategy2)
MobileElement someElement;

因此在上面的示例中,如果定位器被@FindBy(someStrategy1) 找到,那么它将停止定位下一个元素并执行第一个找到的元素。

CHAIN :首先找到第一个定位器,然后在第二个内,依此类推。例如,

@FindBys({@FindBy(someStrategy1),
@FindBy(someStrategy2)})
@AndroidFindBy(parent)
@AndroidFindBy(child)
@iOSFindBy(parent)
@iOSFindBy(child)
MobileElement someElement;

在上面的代码中,如果你正在自动化 android 应用程序,那么它将首先找到 @AndroidFindBy(parent),然后它会找到 @AndroidFindBy(child)。

希望你清楚。