如何让Nunit针对不同的服务器运行selenium测试?

时间:2010-05-20 22:34:58

标签: nunit selenium nant

我有一个Nunit测试,它使用selenium RC来对我们的UI运行测试。我想针对2个不同的服务器运行测试,这意味着要使用2个不同的服务器调用selenium.open()。但是,我不希望有两个不同的Nunit测试套件,它们可以针对不同的服务器执行相同的操作。我需要一种方法将参数从Nant或Nunit驱动程序传递到特定的哪个服务器进行测试。

有没有这样做?

1 个答案:

答案 0 :(得分:1)

如果您希望对两台服务器运行相同的测试,最新版本的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