从WPF应用程序运行编码的ui测试(不使用mstest)

本文关键字:mstest 测试 ui 应用程序 WPF 运行 编码 | 更新日期: 2023-09-27 18:19:49

我想从WPF应用程序运行我的编码ui测试用例。然而,当我初始化回放并调用测试方法时,我得到一个错误,即TestContext为NULL。有人能建议是否可以通过WPF应用程序执行编码的ui测试吗?此外,我如何在这种方法中访问TestContext,因为测试用例是数据驱动的,我需要访问TestContext。

谢谢。

从WPF应用程序运行编码的ui测试(不使用mstest)

这是测试运行者的行为问题

CCD_ 1在";TestHarness/TestRunner";。它是一个抽象类,在Visual Studio中,该过程被称为QAagent32.exe,它根据测试方法和类的要求提供了一个实现版本,例如,从Excel WorksheetTFS TestCase参数数据表中迭代数据行;编码UI,单元测试。如果你想使用Visual Studio中已经使用的内容,你可以在它上调用GetType(),并从那里研究它所使用的完全限定类型。但是,如果该类类型不可用,则必须实现一个完全实现TestContex 的具体类

然后在代码中,你可以做如下操作:

PlayBack.Initialize();
var yourTestClass = new YourUniqueClassTests();
yourTestClass.TestContext = TestConextFactory.GetImplimentation();
yourTestClass.TestMethodThatsImportant();

现在,如果在测试方法上使用DataSource属性,则可能必须使用反射来提取该信息。

var attribute= yourTestClass.GetType()
                            .GetMethod("TestMethodThatsImportant")
                            .GetCustomAttributes(typeof(DataSourceAttribute),false)[0] 
                             as DataSourceAttribute;

这应该能够为您获取这些数据。一旦有了它,就可以添加逻辑来决定在测试类上实现什么类型的TestContext对象。