В чем разница между LocatorGroupStrategy.CHAIN ​​и ALL_POSSIBLE в appium?

В чем разница между LocatorGroupStrategy.CHAIN и ALL_POSSIBLE?

Кто-нибудь может объяснить на примерах?


person Navi Cheema    schedule 22.04.2018    source источник


Ответы (1)


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), он перестанет обнаруживать следующие элементы и выполнит выполнение для первого найденного элемента.

ЦЕПЬ: сначала находим первый локатор, затем второй и так далее. Например,

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

В приведенном выше коде, если вы автоматизируете приложение для Android, оно сначала найдет @AndroidFindBy (родительский элемент), а затем найдет @AndroidFindBy (дочерний элемент).

Надеюсь, вам это ясно.

person Suraj Jogdand    schedule 23.04.2018
comment
да, теперь это более понятно, я буду реализовывать в своем скрипте и постараюсь добавить больше описания. Спасибо за помощь - person Navi Cheema; 24.04.2018