编码的UI测试用双重替换int的字符串

时间:2015-10-20 15:18:55

标签: c# csv casting coded-ui-tests

我正在为网页编写一个测试,我正在用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"];但是抱怨有关从双重投射的错误,所以我假设脚本正在考虑我的价值是双倍。

任何提示?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

"866700000007551009280449220150921009000001527571"

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