繁体   English   中英

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

[英]Run coded ui test from WPF application (without using mstest)

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

谢谢。

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

TestConext是在“TestHarness / TestRunner的”运行时间填充。 它是一个抽象类,在Visual Studio该过程称为QAagent32.exe ,它根据您的测试方法和类的要求为此提供了一个实现的版本,例如,迭代Excel Worksheet数据行, TFS TestCase参数数据表; 编码的用户界面,单元测试。 如果要使用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对象类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM