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

时间:2018-04-22 01:16:32

标签: appium appium-ios appium-android

LocatorGroupStrategy.CHAINALL_POSSIBLE之间有什么区别?

任何人都可以用例子来解释吗?

1 个答案:

答案 0 :(得分:0)

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(父),然后它会找到@AndroidFindBy(子)。

我希望你能清楚这一点。