来自多个excel文件的编码UI驱动测试

时间:2014-06-04 22:57:41

标签: c# coded-ui-tests

我们使用Coded UI测试软件的策略是创建多个Excel电子表格,每个电子表格都包含特定测试用例的测试步骤。将有一个驱动程序电子表格,其中包含一个列出要运行的测试用例的工作表。我们的想法是阅读驱动程序电子表格,然后打开各个测试用例电子表格来运行测试步骤。测试步骤将列出一个按钮或字段,要执行的操作(单击,编辑)以及将在UIMap或手写地图中传递给辅助函数的数据值或其他预期结果。

在我的Coded UI项目中,我只有一个测试方法,它有一个与之关联的电子表格数据绑定。我可以打开该文件并毫无问题地阅读它。如何关闭该电子表格文件并在运行时打开另一个文件?

还有什么方法可以做我想做的事情?

1 个答案:

答案 0 :(得分:0)

使用

using Microsoft.Office.Interop.Excel;

打开Excel实例:

private Microsoft.Office.Interop.Excel.Application excel;
...
excel = new Microsoft.Office.Interop.Excel.Application();

要打开特定的工作簿:

private Workbook workbook;
....
workbook = excel.Workbooks.Open(@"\\C\Data\YourDriver.xlsx");

获取特定工作表:

Worksheet worksheet = workbook.Worksheets["YourTestCaseWorkSheet"];

要杀死你的任务:

    /// <summary>
    /// Quits the excel process
    /// </summary>
    public void Quit() 
    {
        Marshal.ReleaseComObject(this.worksheet);
        Marshal.ReleaseComObject(this.workbook);
        this.excel.Quit();
        this.excel = null;
    }

将[打开]放在[TestInitialize]方法中的Excel工作表和[TestCleanup]中的Quit方法上。您应该尝试 - 使用Quit方法捕获所有测试用例,以确保您的Excel进程关闭。

请注意,测试方法无法运行其他测试方法。因此,您需要使用一个测试用例来运行多个Excel测试用例。

您还可以构建批处理文件以通过MSTEST.EXE运行测试。