2013-04-02 57 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(); 
}