Как заставить Nunit запускать тесты селена на разных серверах? - PullRequest
2 голосов
/ 21 мая 2010

У меня есть тест Nunit, который использует selenium RC для запуска тестов с нашим пользовательским интерфейсом. Я хочу запустить тесты на 2 разных серверах, что означает наличие вызова selenium.open () с 2 разными серверами. Однако я не хочу иметь 2 разных набора тестов Nunit, которые делают одно и то же, но на разных серверах. Мне нужен способ передачи параметров из Nant или программы драйвера Nunit на конкретный сервер, с которым нужно тестировать.

Есть ли в любом случае, чтобы сделать это?

1 Ответ

1 голос
/ 10 июня 2010

Если вы хотите запускать одинаковые тесты на обоих серверах, последняя версия NUnit поддерживает тесты, которые принимают параметры. Вы можете включить в свои тесты аргумент сервера следующим образом:

[TestFixture]
public class MyTestFixture
{
    public string[] Servers = new string[] { "server1.address", "server2.address" };

    [Test]
    public void SomeTest([ValueSource("Servers")] server)
    {
        ISelenium selenium = new DefaultSelenium(server, 4444, "*firefox", "http://localhost");
        //rest of test
    }
}

Когда NUnit выполняется, этот тест будет выполняться дважды: один раз с параметром server1.address и один раз с параметром server2.address. Вы можете прочитать о тестах ValueSource здесь: http://www.nunit.org/index.php?p=valueSource&r=2.5.5

...