1

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

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

还有其他框架比 NUnit 更好吗?

谢谢!

4

2 回答 2

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 中,您可以在每个配置下设置变量:

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

于 2014-01-14T04:45:40.750 回答
0

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

于 2014-02-12T17:37:32.873 回答