2014-09-25 19 views
0

我正在運行在Visual Studio 2013編碼的UI測試到使用從CSV文件值的WPF數據網格未能在Visual Studio 2013。當我在csv文件中有一個空白值,例如,,它對輸入字段工作正常,但是當涉及到將數據網格中的字段輸入空字符串時,編碼的ui測試失敗,並顯示以下錯誤:編碼的UI測試進入從CSV空值時,到WPF數據網格

Microsoft.VisualStudio.TestTools.UITesting.dll中發生了類型'System.ArgumentNullException'的異常,但未在用戶代碼中處理 附加信息:值不能爲空。

當我手動運行測試時,我可以提交沒有這個值的表單,所以我知道它在UI上不是強制性的,如果沒有發送一個值,代碼似乎正在下降。如果我在csv上輸入一個值,測試將會運行,但我故意希望該字段爲空。

有沒有人遇到過這個問題,如果有的話,我可以適應csv或代碼來讓這個工作?我也曾嘗試「」,這也不能工作。

感謝

+0

在此期間我已經加入這周圍的得到周圍是否每個條目子句來檢查,如果在CSV isNullOrWhiteSpace的價值,如果這樣跳過試圖進入價值。我仍然有興趣知道是否有人有更好的建議,因爲這種解決方法使我的代碼非常龐大。 – Helen 2014-09-25 08:48:31

+0

什麼是失敗?它是從數據源讀取值還是寫入網格? – AdrianHHH 2014-09-25 14:18:39

回答

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語句的次數。

+0

謝謝你的幫助,大大減少了我的代碼長度,謝謝你的幫助 – Helen 2014-10-03 14:35:19

相關問題