你可以调用控件而不是启动一个应用程序进行编码的UI测试吗?

问题描述:

我有代码使得:你可以调用控件而不是启动一个应用程序进行编码的UI测试吗?

[CodedUITest] 
public class CodedUITest1 
{ 

[TestMethod] 
public void CodedUITestMethod1() 
{ 
    using(var dlg = new MyWinForm()) 
    { 
    dlg.Show(); 
    System.Threading.Thread.Sleep(2000); 
    this.UIMap.AssertMethod1(); 
    this.UIMap.RecordedMethod1(); 
    this.UIMap.AssertMethod2(); 
    } 

    } 
} 

代码运行良好时我手动发起的应用,但不使用的子句直接创建控制(调用测试之前)。

我想只使用一个引用来创建控件的一个实例,并从那里去而不是依靠试图确定一个可执行文件的路径并打开它。该应用程序只是被卡住了ContextSwitchDeadlock

有没有一种方法可以在不进行流程启动的情况下进行编码Ui测试? (使用引用并在测试代码中创建控件)或者我尝试这样做的方式有问题吗?

+0

然后点击确定后上下文切换死锁,再次点击播放VS2010终极...我得到一个UITestControlNotFoundException – Maslow 2010-12-08 20:42:30

如果您在单独的线程上调用编码的ui测试部分(this.UIMap ...),则可能是可能的。但是现在你拥有它的方式,它们都在同一个线程中,所以你将会陷入僵局。