C# 如何以编程方式将数据绑定添加到Web性能测试?
假设如下:C# 如何以编程方式将数据绑定添加到Web性能测试?,c#,web-testing,C#,Web Testing,假设如下: [DataSource("SomeDataSource", "Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\SomeDataSource.xml", Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential, Microsoft.VisualStudio.TestTools.WebTesting.
[DataSource("SomeDataSource", "Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\SomeDataSource.xml", Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential, Microsoft.VisualStudio.TestTools.WebTesting.DataBindingSelectColumns.SelectOnlyBoundColumns, "SomeTable")]
[DataBinding("SomeDataSource", "SomeTable", "SomeColumn", "SomeContextParamter")]
public abstract WebTestBase: WebTest
{
protected IList<WebTestRequest> _requests = new List<WebTestRequest>();
public WebTestBase()
{
this.PreAuthenticate = true;
this.Proxy = "default";
}
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
// Error: Parameter doesn't exist in context.
string parameter = this.Context["SomeContextParameter"].ToString();
this.CreateRequests();
// Some more code.
}
protected abstract IEnumerable<WebTestRequest> CreateRequests();
}
[CodedWebTest]
public DerivedWebTest: WebTestBase
{
protected override IEnumerable<WebTestRequest> CreateRequests()
{
// Error: Parameter doesn't exist in context.
string parameter = this.Context["SomeParameter"].ToString();
// Some more code.
}
}
[数据源(“SomeDataSource”、“Microsoft.VisualStudio.TestTools.DataSource.XML”、“DataDirectory”\SomeDataSource.XML”、Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential、Microsoft.VisualStudio.TestTools.WebTesting.DataBindingSelectColumns.SelectOnlyBoundColumns、“SomeTable”)]
[数据绑定(“SomeDataSource”、“SomeTable”、“SomeColumn”、“SomeContextParameter”)]
公共摘要WebTestBase:WebTest
{
受保护的IList_请求=新列表();
公共WebTestBase()
{
this.PreAuthenticate=true;
this.Proxy=“default”;
}
公共重写IEnumerator GetRequestEnumerator()
{
//错误:上下文中不存在参数。
字符串参数=this.Context[“SomeContextParameter”].ToString();
这个.CreateRequests();
//更多的代码。
}
受保护的抽象IEnumerable CreateRequests();
}
[编码韦伯测试]
公共衍生WebTest:WebTestBase
{
受保护的重写IEnumerable CreateRequests()
{
//错误:上下文中不存在参数。
字符串参数=this.Context[“SomeParameter”].ToString();
//更多的代码。
}
}
这是正确地从数据源加载到上下文属性,就像应用DataBindingAttribute时一样
有什么想法吗?您是否收到任何错误消息?此外,这似乎不是一个完整的代码示例。看到它是完整的,因为大部分重物都是由框架完成的。在DerivedWebTest类中,有一个名为Context的索引器属性,该属性使用属性中提供的数据填充。错误在于上下文属性没有使用数据源中的数据填充,尽管我可以验证属性DataSources是否已通过DataSourceAttribute加载数据。唯一没有显示它的是GetEnumerator方法,它在从WebTest派生的派生类中被重写;如果有帮助,我会添加它。添加更多代码以获取更多信息。