编码 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来格式化字符串,F0
,0
代表零位小数:
this.UIMap.InsBDFParams.UITboxNDocEditText =
((double)TestContext.DataRow["n_b"])
.ToString("F0");
发现用双引号封装 866700000007551009280449220150921009000001527571
解决了问题:
"866700000007551009280449220150921009000001527571"
.
我认为它将其视为一个字符串,因此不会弄乱数字。
我正在为网页编写测试,我正在用 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来格式化字符串,F0
,0
代表零位小数:
this.UIMap.InsBDFParams.UITboxNDocEditText =
((double)TestContext.DataRow["n_b"])
.ToString("F0");
发现用双引号封装 866700000007551009280449220150921009000001527571
解决了问题:
"866700000007551009280449220150921009000001527571"
.
我认为它将其视为一个字符串,因此不会弄乱数字。