Fitnesse Slim + Selenium: параметризованная иерархия пакетов для нескольких браузеров?
Я начинаю с Selenium и FitNesse. Моя цель - создать набор приемочных тестов, который можно легко запускать в разных браузерах.
Сначала я написал очень короткую оболочку для Seleniums WebDriver. Функции-оболочки используются в таблицах сценариев, таблицах сценариев и таблицах запросов. Пока все хорошо.
Моя идея состояла в том, чтобы создать иерархию страниц вики под названием ParameterizedSuites, которая имеет под-комплекты и тесты на любой возможной глубине. Теперь я хотел создать один пакет под названием FirefoxSuite, определяющий переменную ${BROWSER} со значением "firefox" и включающий только ParameterizedSuites. В ParameterizedSuites.SuiteSetUp экземпляр WebDriver будет создан с использованием ${BROWSER}.
Но моя идея не работает. Кажется, что я должен включить каждую страницу SetUp, TearDown, Suite и Test отдельно? Моя идея полностью неверна или я что-то упустил?
У кого-нибудь есть что-нибудь подобное?
Надеюсь, мое описание достаточно ясно, чтобы понять сценарий.
С наилучшими пожеланиями, Энди
1 ответ
Я думаю, что вы хотите, это SymbolicLinks. Вы можете использовать символические ссылки, чтобы включить поддерево вики в другое место вики.
Для получения дополнительной информации о SymbolicLinks, проверьте ваше местное руководство пользователя или копию в Интернете: http://www.fitnesse.org/FitNesse.UserGuide.FitNesseWiki.SymbolicLinks
Обычный способ сделать это - фактически создать свой ParameterizedSuite и затем символически связать его со страницами, которые определяют конфигурацию и предоставляют специализированные страницы SetUp и TearDown. Это своего рода противоположность того, что вы описываете, но я думаю, что то, что вы делаете, может сработать, если вы используете SymbolicLinks, чтобы сделать страницы частью вики-структуры ваших параметризованных тестов.
FrontPage
SuiteOne
TestOne
ConfigurationOne
SetUp
TearDown
SuiteOneSymolicLink
ConfigurationTwo
SetUp
TearDown
SuiteOneSymolicLink
В приведенной выше структуре SuiteOne можно запустить по символической ссылке в ConfigurationOne или ConfigurationTwo. Переменные, определенные на страницах ConfigurationOne или ConfigurationTwo, будут наследоваться SuiteOne, когда он запускается через SuiteOneSymbolicLink в каждой иерархии конфигурации. Кроме того, SetUp и TearDown со страниц конфигурации также будут унаследованы.