我们使用Coded UI测试软件的策略是创建多个Excel电子表格,每个电子表格都包含特定测试用例的测试步骤。将有一个驱动程序电子表格,其中包含一个列出要运行的测试用例的工作表。我们的想法是阅读驱动程序电子表格,然后打开各个测试用例电子表格来运行测试步骤。测试步骤将列出一个按钮或字段,要执行的操作(单击,编辑)以及将在UIMap或手写地图中传递给辅助函数的数据值或其他预期结果。
在我的Coded UI项目中,我只有一个测试方法,它有一个与之关联的电子表格数据绑定。我可以打开该文件并毫无问题地阅读它。如何关闭该电子表格文件并在运行时打开另一个文件?
还有什么方法可以做我想做的事情?
答案 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运行测试。