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

How do I proccess a string of numbers as string in a VS webtest datasource?

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

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

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

AccountsNames, AccountID
Nombre1, 00001
Nombre3, 00002
Nombre4, 00003
Nombre5, 00004
Nombre6, 00005
Nombre7, 00006
Nombre8, 00007

我最终做的是创建一个 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;
        }
    }

}