在带有system.datetime的编码webtest中引用为空
本文关键字:webtest 引用 编码 system datetime | 更新日期: 2023-09-27 18:16:56
我非常兴奋地尝试了VS 2012 ultimate中的新功能,它允许您使用编码的web测试运行整个负载测试。
不幸的是,我遇到了一点问题。在尝试调试我生成的web测试(并在之后编辑)时,我一直在简单的声明行上获得NullReferenceException
。我简直想不明白为什么会发生这种事。下面是代码:
[Priority(0)]
public class CreateSessionCoded : WebTest
{
public string[] SessionID;
public string[] SessionTime;
public string[] CreatedTime;
public CreateSessionCoded()
{
this.Context.Add("Parameter1", "");
this.PreAuthenticate = true;
}
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
//string CurrentITR = this.Context.WebTestIteration.ToString();
SessionID[this.Context.WebTestIteration] = Guid.NewGuid().ToString();
SessionTime[this.Context.WebTestIteration] = System.DateTime.UtcNow.ToString();
CreatedTime[this.Context.WebTestIteration] = System.DateTime.Now.ToString();
...
代码继续,但我得到NRE的部分是在最后两行,我试图将值分配给我的SessionTime
和CreatedTime
参数。
分配给SessionID
时不会发生这种情况,因此无论如何都与WebTestIteration
无关。如果我尝试将不同的字符串(任何随意的字符串,例如"blabla")分配给相同的参数,也会发生这种情况。
我真的很感激任何帮助!提前感谢!:)
定义了三个数组:
public string[] SessionID;
public string[] SessionTime;
public string[] CreatedTime;
但是,在您尝试使用它们之前,它们不会初始化。
基本上,你是这样做的:
string[] foo;
foo[1] = "bar";
你需要这样做:
string[] foo = new string[10]; // sized appropriately
foo[1] = "bar";