编码 UI 测试用双精度替换整数字符串

Coded UI Test replacing string of ints with double

我正在为网页编写测试,我正在用 csv 值替换记录步骤中的一些值。

问题出在我得到这个值的记录中:

public string UITboxNDocEditText = "866700228007551009280449220150921009003761527571";

在 csv 中我得到了这个值:

866700000007551009280449220150921009000001527571

我用来替换值的行是这一行:

this.UIMap.InsBDFParams.UITboxNDocEditText = TestContext.DataRow["n_b"].ToString();

问题是脚本正在写入这个值:8,66700000007551E+47

我尝试将 TestContext.DataRow 行转换为 string,而不是像这样使用 .ToString() 方法:(string)TestContext.DataRow["n_b"]; 但出现错误,抱怨从 double 进行转换所以我假设脚本认为我的价值是双倍的。

有什么建议吗?

您可以使用format specifier来格式化字符串,F00代表零位小数:

 this.UIMap.InsBDFParams.UITboxNDocEditText = 
        ((double)TestContext.DataRow["n_b"])
              .ToString("F0");

发现用双引号封装 866700000007551009280449220150921009000001527571 解决了问题:

"866700000007551009280449220150921009000001527571".

我认为它将其视为一个字符串,因此不会弄乱数字。