繁体   English   中英

如何从外部启动自动测试(Codedui)?

[英]How do I start an automated test (Codedui) externally?

使用TestExplorer输入测试(调试测试选择)时,CodedUI测试使用QualityTools命名空间的UnitTest适配器,如此堆栈跟踪中所示。

Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter.DefaultTestMethodInvoke(object[] args)   Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.DefaultTestMethodDecorator.Invoke(object[] args)  Unknown
Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll!Microsoft.VisualStudio.TestTools.UITesting.CodedUITestInvoker.Invoke(object[] parameters)  Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter.RunTestMethod()  Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter.ExecuteTest()    Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter.Execute(Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestResult result)   Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestRunner.ExecuteSingleTest(Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter executer, Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestResult result, Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement test, Microsoft.VisualStudio.TestTools.Execution.ITestContext testContext, Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext userContext, bool isLoadTest)    Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestRunner.ExecuteSingleTest(Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter executer, Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement test, Microsoft.VisualStudio.TestTools.Execution.ITestContext testContext, Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext userContext, bool isLoadTest)   Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestRunner.Run(Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement test, Microsoft.VisualStudio.TestTools.Execution.ITestContext testContext, bool isLoadTest, bool useMultipleCpus)  Unknown
[AppDomain (QTAgent32.exe, #1) -> AppDomain (TestAppDomain: adad0b78-8b62-491f-8c88-b41c3e647a1f, #2)]  
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter.Run(Microsoft.VisualStudio.TestTools.Common.ITestElement testElement, Microsoft.VisualStudio.TestTools.Execution.ITestContext testContext, bool isLoadTest)   Unknown
Microsoft.VisualStudio.QualityTools.Tips.UnitTest.Adapter.dll!Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapter.Run(Microsoft.VisualStudio.TestTools.Common.ITestElement testElement, Microsoft.VisualStudio.TestTools.Execution.ITestContext testContext)    Unknown
Microsoft.VisualStudio.QualityTools.AgentObject.dll!Microsoft.VisualStudio.TestTools.Agent.AgentExecution.CallAdapterRunMethod(object obj)  Unknown

TestContext属性具有一些公开的属性,我们可以更改一些行为。

每个CODEDUI类都必须使用此属性 ,以便进行Test Runner和Load Tests等。 在装配中“查找”测试。

这似乎是“ CodedUI”框架的工作方式减去一个小细节。 进入Codedui测试后,将同步执行一组步骤。 在执行最后一步后,该“运行”实例将自动终止。 如果没有断言,测试将自动通过。 等等等

但是如何控制何时结束测试呢? 有谁知道一种挂接异步任务(隐式延迟回调)并保持测试完成直到发生延续的方法。

我正在猜测,测试表明,当前对CodeUI的支持是所有内容都必须是同步的。

这是我的想法,我可以从测试运行程序开始异步测试。 测试运行器完成,并且该测试通过,表明异步测试已开始。 完成后,我可以重新启动自动化测试。

因此问题可以归结为:如何在外部启动自动化测试? 据我所知,当测试运行器完成时,任何异步测试都被标记为完成,这将导致工作设计。 它甚至会杀死所有异步工作...这意味着这些线程必须处于测试运行程序进程下。

引用程序集并调用测试方法。

@回显set max = .set count =。 回声开始测试执行回声=======================“ C:\\ Program Files(x86)\\ Microsoft Visual Studio 12.0 \\ Common7 \\ IDE \\ mstest.exe “ /testcontainer:E:\\Practice\\TestingSample\\TestingSample\\bin\\Debug\\TestingSample.dll / test:fn_TestMethod1 / test:fn_TestMethod2 /resultsfile:E:\\SachintestResAut3.trx“

“ C:\\ Program Files(x86)\\ Microsoft Visual Studio 12.0 \\ Common7 \\ IDE \\ mstest.exe” /testcontainer:E:\\Practice\\TestingSample\\TestingSample\\bin\\Debug\\TestingSample.dll / test:fn_TestMethod2 / resultsfile:E :\\ SachintestResAut3.trx”

回声全部完成@exit

暂无
暂无

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

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