Я использую Alert от react-native.
Как получить детокс, нажав кнопку «Выйти» в предупреждающем сообщении?
Я пробовал использовать await element(by.text('Log out')).tap();
Но я получаю ошибку «Несколько элементов совпадают». Предположительно он находит 3 элемента с одинаковой меткой. Исходная кнопка с меткой «Выйти», используемая для запуска предупреждающего сообщения, заголовок предупреждающего сообщения и кнопка предупреждающего сообщения, которую я хочу нажать.
Error Trace: [
{
"Description" : "Multiple elements were matched: (
"<UILabel:0x7fe7964db910; AX=Y; AX.label='Log out'; AX.frame={{41, 234}, {238, 20.5}}; AX.activationPoint={160, 244.25}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{16, 20}, {238, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>",
"<UILabel:0x7fe7964dda90; AX=Y; AX.label='Log out'; AX.frame={{198.5, 322.5}, {58, 20.5}}; AX.activationPoint={227.5, 332.75}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 12}, {58, 20.5}}; opaque; alpha=1; UIE=N; text='Log out'>",
"<RCTText:0x7fe79652f300; AX=Y; AX.label='Log out'; AX.frame={{16, 338.5}, {288, 17}}; AX.activationPoint={160, 347}; AX.traits='UIAccessibilityTraitStaticText'; AX.focused='N'; frame={{0, 0}, {288, 17}}; alpha=1>"
). Please use selection matchers to narrow the selection down to single element.",
"Error Domain" : "com.google.earlgrey.ElementInteractionErrorDomain",
"Error Code" : "5",
"File Name" : "GREYElementInteraction.m",
"Function Name" : "-[GREYElementInteraction grey_errorForMultipleMatchingElements:withMatchedElementsIndexOutOfBounds:]",
"Line" : "956"
}
]
Я предполагаю, что один из способов - использовать .atIndex()
, но это означает, что мне нужно играть с индексами каждый раз, когда что-то меняется, чтобы определить правильный элемент.
Нет лучшего способа решить эту проблему?
Спасибо.