Селен - рамки - C # - PullRequest
       22

Селен - рамки - C #

0 голосов
/ 09 ноября 2018

Я довольно новичок в разработке сред автоматизации с использованием селена с C #.

Создание фреймворка с использованием объектной модели страницы и можем ли мы использовать один и тот же фреймворк для разных проектов / приложений? ИЛИ нам нужно создать разные рамки для каждого приложения (все они являются веб-приложениями).

Мы собираемся использовать веб-драйвер Selenium с C # и реализовать его с объектной моделью страницы.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Наличие всех приложений / проектов в одной структуре также допустимо. Наш текущий фреймворк обрабатывает несколько проектов, включая API.

Вы также можете пойти без специализированного репозитория, и просто сделать фреймворк частью приложения / проекта, который он тестирует.

У всех архитектур есть свои плюсы и минусы.

Хранение всех проектов в одном фреймворке упростит совместное использование базовых методов, а также поможет избавиться от лишней логики. Вы бы держали проекты отдельно со структурой папок, которая имитирует ваши настройки. У вас может быть базовый класс, который создает экземпляр драйвера селен, который затем используется другими проектами pr базовых классов.

0 голосов
/ 10 ноября 2018

Если я правильно понимаю, что использование объектной модели страницы приведет к созданию отдельных структур, поскольку каждый сайт будет иметь свои собственные идентификаторы. Это в основном создание карты сайта, к которой может получить доступ ваш проект Selenium.

Вот как я реализовал это в прошлом.

Создание одного решения в Visual Studio. Затем создайте отдельные проекты для каждого сайта в этом одном решении. Также создайте общий проект также с вещами, которыми должны делиться все сайты. Вы можете сделать некоторые из ваших общих вещей Selenium в общем проекте.

В каждом отдельном проекте вы можете реализовать объектную модель страницы или добавить каждый элемент в конфигурацию своего приложения и ссылаться на него с помощью Configuration Manager. Это позволяет каждому сайту иметь свой собственный список идентификаторов. Если у вас есть разработчики, они также могут добавить специальные идентификаторы в поля, которые используются только для qa. Это ценно, потому что они могут перемещать объекты по всему экрану и до тех пор, пока они не изменят «qaid» поля, ваш список будет оставаться актуальным, а ваши тесты не будут нарушены. Этот подход требует некоторой работы от ваших разработчиков, чтобы добавить qaids к элементам, но как только это будет сделано, ваши тесты будут работать намного лучше. Это также устраняет необходимость проходить через Xpath или сложные CSSSelectors.

...