Мне нужна хорошая практика для решения моей проблемы.Как настроить среду перед запуском автоматических тестов?
Вопрос: Мне нужно запустить автоматические тесты с сайта. Сайт имеет разные конфигурации, которые полностью меняют его дизайн (на некоторых страницах). Например, я могу настроить 2 разных страницы входа. И мне нужно проверить их обоих.
Прежде всего Я должен убедиться, что правильный тест выполняется с правильной конфигурацией. Поэтому перед каждым тестом мне нужно изменить конфигурацию сайта. Это не хорошо, если у меня есть тысяча тестов.
Итак, решение, которое приходит мне на ум, - это, чтобы каждый раз не перенастраивать сайт, а делать это один раз и запускать все тесты, соответствующие этой конфигурации. Но это решение мне не кажется легким.
На данный момент я сделал следующее: Я создал метод, который запускается один раз перед всеми другими тестами, и в этом методе я настраиваю сайт для создания конфигурации, которая используется в большинстве тестов. Все остальные тесты теперь изменяют конфигурацию перед исполнением, а после выполнения они меняют ее. Это не хорошо.
Для этого я использовал NUnit3 SetUpFixture и OneTimeSetUp атрибуты:
/// <summary>
/// Runs once before all the test in order to config the environment
/// </summary>
[SetUpFixture]
public class ConfigTests
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
IWebDriver driver = new ChromeDriver();
try
{
//Here I config the stie
CommonActions actions = new CommonActions(driver);
actions.SwitchOffCombinedPaymentPage();
driver.Dispose();
}
catch (Exception)
{
driver.Dispose();
}
}
}
То, что я думал, что после того, как это, что я буду иметь возможность отправить параметры SetUpFixture, но в первую очередь это невозможно и во-вторых, это не решит проблему, так как эта функция будет запускаться дважды, и тесты будут выполняться против последней конфигурации.
Итак, ребята, как бороться с тестированием сайта, который имеет множество конфигураций?