zoukankan      html  css  js  c++  java
  • Coded UI Run Coded UI in WinForm

      在VS集成环境中能够执行的测试代码,在一般程序中也能够执行。问题关键是如何在程序中配置好CUIT测试执行的环境,即CUIT回放执行引擎是否正确启动。当使用VS的CUIT工程时,每个测试类都被标识了[CodedUITest],当VS的Mstest测试引擎在执行每个测试用例的时候,它会自动读取测试所配置的属性,以判断测试的类型,当它看到是CodedUITest后,它会自动初始化CUIT的底层回放(Playback)执行引擎,让后执行该测试用例。

         自己创建的程序无法直接使用CodedUIAttribute和Mstest,需要Playback.Initialize()/Playback.Cleanup()这两个函数来帮助完成启动初始化CUIT的底层回放执行引擎的工作,否则程序中无法直接应用CUIT类库中函数。

          要在外部调用Playback函数需要额外添加一些相关的DLL引用,主要包括以下9个:

    •Microsoft.VisualStudio.QualityTools.CodedUITestFramework

    •Microsoft.VisualStudio.TestTools.UITest.Common

    •Microsoft.VisualStudio.TestTools.UITest.Extension

    •Microsoft.VisualStudio.TestTools.UITest.Extension.IE

    •Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop

    •Microsoft.VisualStudio.TestTools.UITest.Extension.Uia

    •Microsoft.VisualStudio.TestTools.UITest.Framework

    •Microsoft.VisualStudio.TestTools.UITest.Playback

    •Microsoft.VisualStudio.TestTools.UITesting

      这些DLL分别在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\, C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\和C:\Program Files\Common Files\microsoft shared\VSTT\11.0中。

    具体调用方法如下:

    Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize();

    CodedUITestProject.CodedUITest1 coded = new CodedUITestProject.CodedUITest1();

    Try

    {

    coded.Method(); //具体调用Case方法

    }

    Microsoft.VisualStudio.TestTools.UITesting.Playback.Cleanup();

     

         还有UITestControl.CaptureImage() 和 UITestControl.Desktop.CaptureImage() ,它们可以用来获取控件和整个屏幕的截屏,这些截屏在测试失败的时候是非常有用的,可以帮助快速分析和定位测试失败的原因,特别是在问题出现具有一定随机性不易Repro的情况下,错误现场的图片对于分析问题至关重要。

    心情:原理什么的都挺简单的,但当时为了调试这个方法,却花了很多时间,还在MSDN论坛上发帖求助过,不过好在解决了,感觉不错!

    参考:http://social.msdn.microsoft.com/Forums/en-US/vstest/thread/a913b13d-e04c-4168-9657-abd13083c3b2/#52a22663-63b7-498c-9925-ae4530a426a4

  • 相关阅读:
    str_replace
    [转载][HTML] 普通的DIV分层以及版透明效果
    [PHP] PHP Excel导出 以及编码问题
    [FreeProxy]FreeProxy代理服务器端软件介绍 之 sock 5
    修改MySQL的递增的起始值
    台哥原创:java五子棋源码(人机对弈)
    java游戏开发杂谈
    java游戏开发杂谈
    java游戏开发杂谈
    java游戏开发杂谈
  • 原文地址:https://www.cnblogs.com/Blackeye286/p/3105420.html
Copyright © 2011-2022 走看看