2013-04-02 53 views
0

我已經使用編碼的UI自動化(通過記錄動作)創建了一個自動化測試。我需要多次使用數據驅動測試運行測試,將連接字符串連接到XML文檔。 這需要根據我輸入的數字運行,這個數字需要每次增加。這是可能的編碼的UI自動化測試?任何其他建議?多次運行編碼的UI自動化測試

+0

請澄清。你有一個由XML文件驅動的編碼UI測試數據。 「我輸入的_數量」來自哪裏,測試需要做什麼?要獲得一個數字,可以在每個數據驅動的測試執行中增加,你可以在類中使用'static int'。你可以從'int dataRowNumber = TestContext.DataRow.Table.Rows.IndexOf(TestContext.DataRow);' – AdrianHHH

+0

得到數據源的行號,我給出從xml輸入的數字。該號碼被用作登記目的的輸入,例如票號。 – PremKumarKatta

+0

還是不明白這個問題。如果您問如何編寫使用XML數據源的日期驅動測試,那麼Schaliasos的答案提供了一個好的開始。號碼多少?它是XML中的一個字段嗎?如果是,那麼「每次需要增加這個數字」是什麼意思? – AdrianHHH

回答

1

所有你需要的是創建一個CodedUI Data-driven Test

DataSource attribut中設置DataAccessMethodDataAccessMethod.Sequential,這樣您的測試將讀取所有數據行並按照它們的順序執行它們。

您還需要使用DeploymentAttribute,以便將xml文件部署到輸出文件夾。

實施例:

[DeploymentItem("data.xml")] 
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "\\data.xml", "Iterations", DataAccessMethod.Sequential)] 
[TestMethod] 
public void CodedUITestMethod1() 
{ 
    // To generate code for this test, select "Generate Code for 
    // Coded UI Test" from the shortcut menu and select one of 
    // the menu items. 
    this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
     TestContext.DataRow["Input1"].ToString(); 
    this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
     TestContext.DataRow["Input2"].ToString(); 
    this.UIMap.AddTwoNumbers(); 

    this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
     TestContext.DataRow["ExpectedResult"].ToString(); 
    this.UIMap.AssertforAdd(); 
}