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

时间:2013-10-29 15:24:59

标签: c# selenium nunit selenium-webdriver teamcity

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

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

是否有任何其他框架比NUnit更好?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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");
}

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

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

编辑配置>构建参数>添加环境变量>选择Environment Variables as Kind(在我的示例中为env.testurl)。 请注意,在C#中调用此值时,我不包括TeamCity变量名称中的 env。部分。

答案 1 :(得分:0)

我们从默认的App.config开始,其值设置为在本地运行测试,以进行开发。然后我们让TeamCity在构建步骤中更换App.config,以及其他不同构建的配置文件。这就是你可以为不同的构建设置不同的设置,例如目标URL。