我想延长测试工具我已经写在SpecFlow要多一点可扩展的,所以我希望做的是在设置创建我可以设置根据我对NUnit的使用标志基本URL变量亚军。 所以,如果我在测试发送的标签我想要一些URL值设置为“HTTP://测试/”或者发展来设置URL为“HTTP://开发/”。 我知道全局变量是没有用在NUnit的,大多数我以前的脚本是在Perl,甚至然后我用它在罕见的情况。 我不知道我这样做的权利,但我得到的代码没有错误编译URL从来没有得到的设置。 什么我做的是检查NUnit的亚军启动时:
private static testInfoConfiguration myUrl;
public static string baseUrl = string.Empty;
[BeforeFeature("Test")]
public static void BeforeFeature_Test()
{
myUrl = new testInfoConfiguration();
baseUrl = myUrl.setBaseUrl("Test");
}
这就要求如下:
public class testInfoConfiguration
{
public string setBaseUrl(string envType)
{
string envUrl;
if (envType == "Test")
{
envUrl = "http://testweb/";
return envUrl;
}
if (envType == "Prod")
{
envUrl = "http://www/";
return envUrl;
}
envUrl = "http://devweb/";
return envUrl;
}
然后我想建立到URL变量调用以后:
[When(@"I access the Web Site")]
public void WhenIAccessTheWebSite()
{
string kcUrl = baseUrl + "/knowledge/Pages/default.aspx";
driver.Navigate().GoToUrl(kcUrl);
当我打电话的URL变量,它仍然是空的。 有没有办法做到这一点? 我还在学习C#,NUnit的和SpecFlow所以我可能只是不看的这个正确的方面我要去的地方错了。 或者只是真的不理解如何以这种方式设置的变量。
编辑:调整现有的代码