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

时间:2015-10-28 19:58:05

标签: c# wpf coded-ui-tests testcontext

我想从WPF应用程序运行我的编码ui测试用例。但是,当我初始化播放并调用测试方法时,我收到TestContext为NULL的错误。任何人都可以建议是否可以通过WPF应用程序执行编码ui测试?另外,如何在这种方法中访问TestContext,因为测试用例是数据驱动的,我需要访问TestContext。

感谢。

1 个答案:

答案 0 :(得分:3)

这是测试跑步者的行为问题

在" TestHarness / TestRunner"的运行时填充

TestConext。 它是一个抽象类,在Visual Studio过程被称为QAagent32.exe,它根据您的测试方法和类所需的内容为此提供实现的版本,例如:迭代Excel WorksheetTFS TestCase参数数据表中的数据行;编码UI,单元测试。 如果您想使用Visual Studio中已使用的内容,您可以在其上调用GetType(),并从那里进行研究,了解其使用的完全限定类型。但是, IF 该类类型不可用,您必须实现一个完全实现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对象的类型。

相关问题