你可以调用控件而不是启动一个应用程序进行编码的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测试? (使用引用并在测试代码中创建控件)或者我尝试这样做的方式有问题吗?
答
如果您在单独的线程上调用编码的ui测试部分(this.UIMap ...),则可能是可能的。但是现在你拥有它的方式,它们都在同一个线程中,所以你将会陷入僵局。
然后点击确定后上下文切换死锁,再次点击播放VS2010终极...我得到一个UITestControlNotFoundException – Maslow 2010-12-08 20:42:30