Содержание
- 2. Кому подойдёт описываемый подход У вас приложение с интерфейсом, похожим на десктопный. Есть части интерфейса, которые
- 3. Пример интерфейса
- 4. Как это сделано сейчас
- 5. Класс страницы: public abstract class PageObject { protected RemoteWebDriver driver; public virtual Ribbon MainRibbon { get
- 6. Класс ленты: public class Ribbon : RemoteWebElement { public Ribbon(IWebDriver driver, IWebElement webElement) : base(driver, webElement.GetSecretElementID())
- 7. Недостатки: Поиск элементов выполняется медленно, потому что: Поиск в драйвере быстрее Приходится искать сначала элемент ленты,
- 8. Альтернатива Альтернатива, сынок – это утки!
- 9. Класс страницы: public class PageObjectNew { protected readonly RemoteWebDriver driver; protected virtual string MainRibbonSelector = "#context-ribbon";
- 10. Класс ленты: public class RibbonNew { private RemoteWebDriver driver; private readonly string baseSelector; public RibbonNew(RemoteWebDriver driver,
- 11. Класс ленты, продолжение: private void ClickElement(int _maxAttempts, string selector) { var count = 0; var maxAttempts
- 12. Элементы ищутся быстро, т.к. напрямую в браузере и только один раз. Исключается StaleElementReferenceException. Код тестов становится
- 13. Вопросы?
- 15. Скачать презентацию