1
我有一個使用硒RC對我們的UI進行測試的Nunit測試。我想針對2個不同的服務器運行測試,這意味着使用兩臺不同的服務器調用selenium.open()。但是,我不希望有兩種不同的Nunit測試套件可以做同樣的事情,但是針對不同的服務器。我需要一種從Nant或Nunit驅動程序傳遞參數到特定哪個服務器進行測試的方法。如何讓Nunit針對不同的服務器運行硒測試?
有沒有辦法做到這一點?
我有一個使用硒RC對我們的UI進行測試的Nunit測試。我想針對2個不同的服務器運行測試,這意味着使用兩臺不同的服務器調用selenium.open()。但是,我不希望有兩種不同的Nunit測試套件可以做同樣的事情,但是針對不同的服務器。我需要一種從Nant或Nunit驅動程序傳遞參數到特定哪個服務器進行測試的方法。如何讓Nunit針對不同的服務器運行硒測試?
有沒有辦法做到這一點?
如果您希望針對兩臺服務器運行相同的測試,最新版本的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
我想過一個方法,任何人都可以給我更好的解決方案嗎?基本上我有不同版本的app.config文件用於不同的服務器。在Nant構建腳本中,我將不同版本的文件複製到app.config(例如app.test.config - > app.config)。在app.config內部,我有不同的基本Url在nunit測試中用作appsetting。 – jaffa 2010-05-25 12:38:06