我想从 WPF 应用程序运行我编码的 ui 测试用例。但是,当我初始化播放并调用测试方法时,我收到一个错误,即 TestContext 为 NULL。任何人都可以建议是否可以通过 WPF 应用程序执行编码的 ui 测试?此外,由于测试用例是数据驱动的并且我需要访问 TestContext,因此我如何以这种方法访问 TestContext。
谢谢。
我想从 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
你在测试类上设置什么类型的对象。