WatiN, и я предполагаю, что Selenium не решит вашу проблему с заказом.Я использую WatiN и NUnit для автоматизации пользовательского интерфейса, и порядок выполнения не гарантируется, что первоначально создавало проблемы, аналогичные тем, что вы видите.
В духе ответа dskh вы хотите независимые тесты, и я 'мы выполнили это двумя способами для тестирования «черного ящика» интеграции / регрессии.
Во-первых: в вашей настройке теста настройте любые значения данных предварительных условий, чтобы вы были в известном «хорошем состоянии».Для автоматизации системных регрессионных тестов у меня есть несколько сценариев базы данных, которые вызываются для сброса данных в известное состояние;это добавляет некоторые зависимости, так что будьте внимательны к дизайну.Примечание. В прямом модульном тестировании обратите внимание на использование фиктивных объектов для устранения зависимостей и убедитесь, что ваш тест «тестирует одну вещь».Ложные объекты, вызовы методов-заглушек и т. Д. - это путь, если вы можете, который, исходя из вашего вопроса, звучит правдоподобно.
Второе: для случаев, когда определенные вещи абсолютно необходимо настроить определенным образом, и сценариик ним для тестирования установки добавили нелепое количество необходимых внутренних знаний системы (например, настройка всех пользователей + настройка всех разрешений + и т. д. и т. д.), было настроено небольшое количество тестов «начальной загрузки» в их собственном пространстве имен, чтобы их можно было легко запустить через NUnit,загрузить систему.Сокращение количества тестов и обеспечение их стабильности было первостепенным.Теперь при новой установке сначала запускаются тесты начальной загрузки, которые служат расширенными тестами дыма;дальнейшие тесты не запускаются, если какой-либо из тестов начальной загрузки завершился неудачей.В некотором смысле это неуклюже, но альтернативы были более громоздкими или требовали больше времени / ресурсов / чего угодно.