Какую стратегию использовать, когда элемент, на который можно нажать, может варьироваться - PullRequest
0 голосов
/ 04 июня 2018

Я все больше и больше борюсь со следующей проблемой.В зависимости от тестовых данных присутствуют разные кнопки или ссылки, по которым нужно щелкнуть, чтобы перейти к следующему шагу тестирования.Когда я жду, когда кнопка А станет активной, пока кнопка В присутствует, тест не пройден из-за истечения времени ожидания и наоборот.

Какую стратегию можно использовать для решения этой проблемы?

Я нашел следующий Вопрос: Селен. Подождите, пока кто-нибудь из Элемента не станет видимым.

Здесь проблема решена с помощью

Expectedconditions.or

Это доступно на Java, но не вC #.

Я пробовал эту конструкцию, но это не разрешено в C #:

 wait.Until(d =>
        ExpectedConditions.ElementToBeClickable(element1) || ExpectedConditions.ElementToBeClickable(element2));

Это выдает следующее сообщение об ошибке: «Оператор» || «не может быть применен к операндам типа 'Func 'и' Func '.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

AC # альтернатива для выражения Java:

Expectedconditions.or

может быть:

wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath($"{locatorelement1} | {locatorelement2}")));
0 голосов
/ 04 июня 2018

Вы можете использовать в C # ExpectedConditions.ElementIsVisible(elementLocator) без проблем.Это репозиторий DotNetSeleniumExtras в gitHub , вы можете увидеть его здесь

Вы также можете использовать его в селене, но не рекомендуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...