Хорошая мысль, копал в эту область, но, к сожалению, готовность документа не говорит о том что он может в любой момент быть перерисован, поэтому предложенное решение действительно универсальное для решения именно этой проблемы.
Видимо, немного не уловили мысль, проблема возникает как раз именно в момент действия (например, кликнуть или ввести текст). До этого, само собой, под капотом работает Fluent Wait в конфигурации которого прописаны те исключения, которые нужно игнорировать, в том числе Stale Element Reference Exception. Но суть в том, что результатом метода с Fluent Wait все равно будет IWebElement, который в таком же виде попадет в Browser.Click(), поэтому обрабатывать ошибку нужно именно в самих методах обертках над действиями и передавать в метод именно callback-функцию.
Спасибо за ответ! Действительно, можно использовать разные фрейморвки, но нужно учесть факторы:
1. У каждого из них есть как свои преимущества, так и недостатки, поэтому так или иначе в каждом придется с чем-то бороться. 2. Тестовый проект может быть большим, поэтом переход на другой фреймворк и стек будет не выгоден для решения единичной проблемы.
И, вы правы, в каждой из таких задач есть "спортивная" составляющая.
Разве это не так для макбука? ?
Спасибо за ответ!
Хорошая мысль, копал в эту область, но, к сожалению, готовность документа не говорит о том что он может в любой момент быть перерисован, поэтому предложенное решение действительно универсальное для решения именно этой проблемы.
Спасибо за ответ!
Видимо, немного не уловили мысль, проблема возникает как раз именно в момент действия (например, кликнуть или ввести текст). До этого, само собой, под капотом работает Fluent Wait в конфигурации которого прописаны те исключения, которые нужно игнорировать, в том числе Stale Element Reference Exception. Но суть в том, что результатом метода с Fluent Wait все равно будет IWebElement, который в таком же виде попадет в Browser.Click(), поэтому обрабатывать ошибку нужно именно в самих методах обертках над действиями и передавать в метод именно callback-функцию.
Спасибо за ответ! Действительно, можно использовать разные фрейморвки, но нужно учесть факторы:
1. У каждого из них есть как свои преимущества, так и недостатки, поэтому так или иначе в каждом придется с чем-то бороться.
2. Тестовый проект может быть большим, поэтом переход на другой фреймворк и стек будет не выгоден для решения единичной проблемы.
И, вы правы, в каждой из таких задач есть "спортивная" составляющая.