如何在VS webtest数据源中将一串数字作为字符串处理?

时间:2017-12-18 16:04:41

标签: visual-studio webtest

我有问题。我正在使用Visual Studio Web性能测试,我有一个csv文件,其中包含我需要在Web请求的字符串主体中发送的数据。问题是当Web测试从accountID检索数据时,它将数据作为int而不是字符串。因此,如果帐号为000005或000016,则测试将左侧的零忽略为5和15。这给我的网络服务错误。

有没有办法强制网络测试将所有数据视为字符串?谢谢

下面您可以看到csv文件的示例。数据不是很多,只有2列,所以我不想为那个

创建数据库
AccountsNames, AccountID
Nombre1, 00001
Nombre3, 00002
Nombre4, 00003
Nombre5, 00004
Nombre6, 00005
Nombre7, 00006
Nombre8, 00007

1 个答案:

答案 0 :(得分:0)

我最终要做的是创建一个Web请求插件,从webtest上下文获取数据源并编辑值。

这是一个代码示例:

namespace WebTestProjectToPlayArround
{
    [DisplayName("Add Padding Zeroes")]
    [Description("")]
    public class EditContextParameter : WebTestRequestPlugin
    {


        [DisplayName("DataSourceContext")]
        [Description("")]
        public string DataSourceContextParam { set; get; }

        [DisplayName("ContextParamToStoreValue")]
        [Description("")]
        public string ContextParam { set; get; }


        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);
            var value = (string) e.WebTest.Context[DataSourceContextParam];
            string newValue = "";
            object contextParam;
            string contextName = value.Replace("{","").Replace("}", "");
            if (e.WebTest.Context.TryGetValue(contextName, out contextParam))
            {
                newValue = contextParam.ToString();
                newValue = newValue.PadLeft(10, '0');
            }
            e.WebTest.Context[ContextParam] = newValue;
        }
    }

}