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

我正在使用C#编写Visual Studio中的Selenium webdriver测试。 这些基本上是回归测试。 我在NUnit中选择的框架。

我想参数化URL,因此可以针对TeamCity中的不同部署运行相同的测试。 我怎么做? 我应该创建一个控制台应用程序,然后将参数传递给Main()? 在那种情况下,我该如何从NUnit GUI运行测试?

其他框架比NUnit更好吗?

谢谢!


嘿这里有一些有用的链接可能有助于回答你的问题:

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

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

此外,您可以使用teamcity中配置的环境变量来对付构建(因此在夜间,您可能会从开发构建中获得不同的url等),并在您的源代码中调用该变量:

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

在上面的代码sniplet中,我检查是否有环境,如果没有,请使用appconfig作为备份。

在TeamCity中,您可以在每个配置下设置变量:

编辑配置>编译参数>添加环境变量>选择环境变量作为种类(在我的例子中是env.testurl)。 请注意,在C#中调用此值时,我不包含env。 部分来自TeamCity变量名称。


我们从一个默认的App.config开始,其值设置为在本地运行测试,以进行开发。 然后,我们让TeamCity在构建步骤中将App.config替换为其他配置文件以用于不同的构建。 这就是为什么您可以针对不同的构建设置不同的设置,例如目标URL。

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

上一篇: How to run a parameterized Selenium test with NUnit on TeamCity?

下一篇: rvm switches to old ruby version after reboot against default set