我正在使用C#在Visual Studio中编写Selenium webdriver测试。这些基本上是回归测试。我在NUnit中选择的框架。
我想参数化URL,因此可以针对TeamCity中的不同部署运行相同的测试。我怎么做?我应该创建一个控制台应用程序,然后将参数传递给Main()吗?那么如何从NUnit GUI运行测试?
是否有任何其他框架比NUnit更好?
谢谢!
答案 0 :(得分:1)
嘿,这里有一些有用的链接可能有助于回答你的问题:
http://codewandering.blogspot.com.au/2008/11/regression-testing-for-any-web.html
此外,您可以使用在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。