0

如果我已經從VS2013編碼的ui測試記錄器記錄了一個聲明。 斷言驗證之類的東西,我們如何在Coded UI測試中參數化斷言方法?

  • 名稱字段containst「傑夫」作爲名稱
  • 他的年齡是「60」年齡字段或不

現在,讓我們說,我已經有一個data.csv連接並配置爲解決方案。我現在想要做的就是從我的CSV文件中取代某些值的assertion vlaue JEFF和60。

這是斷言

在後臺代碼

Assert.AreEqual(this.name_assertionExpectedValues.UIEierPane1HelpText,uInamePane1.HelpText, 「不能找到名稱的文本標籤」);

你能告訴我什麼參數在主CS文件中看起來像這樣。

只是這樣,而不是比較我的CSV文件的預期值而不是記錄的字符串。

在此先感謝。

+0

可能重複[How to run a test many時間從數據讀取.csv文件(數據驅動)](http://stackoverflow.com/questions/23469100/how-to-run-a-test-many-times-with-data-read-from-csv-文件數據驅動)。查看關於'CheckResultExpectedValues'的文字。 – AdrianHHH

回答

1

您可以編寫代碼如下

Assert.AreEqual(TestContext.DataRow["Name"].ToString(),uInamePane1.HelpText, "Cant find Name text label"); 

這裏「名」將映射到數據源名稱列。

+0

我認爲這不會改變他仍然在硬編碼值上聲明的錄製方法,因此他的測試在達到新聲明之前可能會失敗 – barakcaf

0

在UI映射文件記錄的聲明中包含的值,這將產生一個斷言方法,讓你的斷言代碼看起來應該是這樣的:

this.UIMap.NameOfYourAssertion(); 

這將你錄製的價值主張。 現在,當你想改變你記錄你改變斷言的值如下價值:

this.UIMap.NameOfYourAssertionExpectedValues.UIYourEditBoxText = "your value from csv"; 

因此,對於名爲每個斷言會出現,預計該類型的屬性。很可能是一個字符串值。通過在調用assert方法之前更改該值,它將使用更改後的值。您可以使用TestContext.DataRow["Name"].ToString();調用從CSV文件中獲取數據,如果您使用測試方法上的DataSource屬性將測試方法添加到測試方法中,如MSDN中所述:https://msdn.microsoft.com/en-us/library/ms182519.aspx

相關問題