How to run a parameterized Selenium test with NUnit on TeamCity?

I am writing Selenium webdriver tests in Visual Studio, using C#. These are basically regression tests. The framework that I have chosen in NUnit.

I want to parameterize the URL, so the same tests can be run against different deployments in TeamCity. How do I do that? Should I create a Console Application and then pass an argument to Main()? In that case how do I run the tests from NUnit GUI?

Is any other Framework better than NUnit?

Thanks!


hey here are some useful links which might help answering your question:

http://codewandering.blogspot.com.au/2008/11/regression-testing-for-any-web.html

http://kristjansson.us/?p=947

Additionally you can use environment variables configured in teamcity against the build (so in nightly you might have a different url from a dev build etc) and call the variable in your source code:

public static string GetBaseUrl()
{
    return string.IsNullOrEmpty(System.Environment.GetEnvironmentVariable("testurl")) ? ConfigurationManager.AppSettings["baseurl"] : System.Environment.GetEnvironmentVariable("testurl");
}

in the code sniplet above, I check to see if i've got the environment and if not, use the appconfig as a backup.

within TeamCity, you set the variables under each configuration:

Edit Config > Build Params > add Environment Variables > select Environment Variables as Kind (env.testurl in my example). note, when calling this value within C# i don't include the env. section from the TeamCity variable name.


We start with a default App.config with values set for running tests locally, for development. Then we have TeamCity swap out the App.config, in a build step, with other config files for different builds. That's how you can have different settings for different builds, such as target URL.

链接地址: http://www.djcxy.com/p/63416.html

上一篇: 尝试使用Nunit运行多个Selenium Webdriver测试失败

下一篇: 如何在TeamCity上使用NUnit运行参数化Selenium测试?