0

我正在使用 csv 文件中的值将 Visual Studio 2013 中的编码 ui 测试运行到 WPF 数据网格中。例如,当我在 csv 文件中有一个空白值时它对于输入字段工作正常,但是当将空字符串输入到数据网格上的字段中时,编码的 ui 测试失败并出现以下错误:

Microsoft.VisualStudio.TestTools.UITesting.dll 中出现“System.ArgumentNullException”类型的异常,但未在用户代码中处理附加信息:值不能为空。

当我手动运行测试时,我可以在没有此值的情况下提交表单,所以我知道它在 UI 上不是强制性的,如果没有发送值,代码似乎就会崩溃。如果我在 csv 上输入一个值,测试将运行,但我故意希望该字段为空。

以前有没有人遇到过这个问题,如果有的话,有没有办法我可以调整 csv 或代码来让它工作?我也试过,“”,这也不起作用。

谢谢

4

1 回答 1

0

我认为你这样做的方式(使用 isNullOrWhiteSpace 方法来确定是否应该跳过输入值)是正确的方式。如果您不想每次在字段中输入值时都编写它,则可以编写一个扩展方法:

public static void EnterValue(UITestControl control, string inputString)
{
    if (!String.IsNullOrWhiteSpace(inputString)
        Keyboard.SendKeys(control, inputString);
}

然后在你想输入文本时调用它:

string csvValue = /*value from the .csv file*/
StaticUtilityClass.EnterValue(myControl, csvValue);

这不是一个突破性的变化,但它会减少你必须编写该 if 语句的次数。

于 2014-09-25T14:13:13.573 回答