Существует ли эквивалент @BeforeSuite от testNG в JUnit 4?

Я новичок на сцене автоматизации тестирования, так что простите меня, если это глупый вопрос, но google подвел меня на этот раз. Или, по крайней мере, все, что я прочитал, только запутало меня еще больше.

Я использую JUnit 4 и Selenium Webdriver в Eclipse. У меня есть несколько тестов, которые мне нужно запустить как набор, а также по отдельности. На данный момент эти тесты работают нормально, когда запускаются сами по себе. В начале теста тестеру/пользователю предоставляется поле ввода, в котором сначала спрашивается, на каком сервере они хотят провести тестирование (это строковая переменная, которая становится частью URL), и какой браузер они хотят протестировать. В настоящее время при запуске тестов в наборе пользователь получает этот вопрос в начале каждого теста, поскольку, очевидно, он записан в каждом из их методов @Before.

Как мне получить эти значения один раз и передать их каждому из методов тестирования?

Итак, если server = "server1" и browser = "firefox", то firefox - это браузер, который я хочу, чтобы использовал selenium, а URL, который я хочу, чтобы он открывал, - это http://server1.blah.com/ для всех следующих методов тестирования. Причина, по которой я использую отдельные методы @Before, заключается в том, что требуемый URL немного отличается для каждого метода тестирования, т.е. каждый метод тестирует отдельную страницу, например server1.blah.com/something и server1.blah.com/somethingElse

Тесты работают нормально, я просто не хочу постоянно вводить значения, потому что количество методов тестирования в конечном итоге будет очень большим.

Я также мог бы преобразовать свои тесты в testNG, если есть более простой способ сделать это в testNG. Я думал, что аннотация @BeforeSuite может сработать, но теперь я не уверен.

Любые предложения и критика (конструктивная) очень ценятся

6
задан Matthew Farwell 8 December 2011 в 19:30
поделиться