Хорошо, одно из решений состоит в том, чтобы иметь тесты-обертки, которые настраивают объект ISelenium в разных браузерах.Затем они передают этот объект всем другим тестам, которые используют его, вместо того, чтобы самим устанавливать новый, как это делали ранее.
Недостатком является то, что я получаю один большой тест для каждого браузера.Не самое лучшее решение.Все еще глядя ...
РЕДАКТИРОВАТЬ:
Потратил еще немного времени на это.Решение, которое я придумал, состоит в том, чтобы иметь текстовый файл в решении, в котором указан браузер, который будет использоваться для тестирования.NUnit выбирает настройку при создании экземпляра объекта Selenium.
Я использую CruiseControl.NET для запуска автоматических сборок и тестов.И вместо того, чтобы просто запустить тест один раз, я настроил его на запуск их дважды.Но перед каждым тестом я запускаю команду командной строки, которая меняет браузер в текстовом файле конфигурации.
<exec>
<executable>cmd</executable>
<buildArgs>/C echo firefox C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe > F:\...\selenium_browser.txt</buildArgs>
</exec>
<exec>
<executable>F:\...\NUnit 2.5.7\bin\net-2.0\nunit-console.exe</executable>
<baseDirectory>F:\...\bin\Debug</baseDirectory>
<buildArgs>F:\...\...nunit /xml:"F:\CCXmlLog\Project\nunit-results.xml" /noshadow</buildArgs>
<successExitCodes>0</successExitCodes>
<buildTimeoutSeconds>1200</buildTimeoutSeconds>
</exec>
<exec>
<executable>cmd</executable>
<buildArgs>/C echo googlechrome C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe > F:\...\selenium_browser.txt</buildArgs>
</exec>
<exec>
<executable>F:\...\NUnit 2.5.7\bin\net-2.0\nunit-console.exe</executable>
<baseDirectory>F:\...\bin\Debug</baseDirectory>
<buildArgs>F:\...\...nunit /xml:"F:\CCXmlLog\Project\nunit-results.xml" /noshadow</buildArgs>
<successExitCodes>0</successExitCodes>
<buildTimeoutSeconds>1200</buildTimeoutSeconds>
</exec>