单独线程中的编码UI方法

时间:2014-08-12 14:05:32

标签: c# wpf multithreading coded-ui-tests

我写了一个小应用程序,可以确定控件的不同属性。 我使用Coded UI方法。 所以我有一个控制信息出现的GUI。 我通过它的位置确定控制。

UITestControl control = UITestControlFactory.FromPoint(new Point(X, Y));

之后,我用反射询问控件特定属性。 所有方法大约需要5秒钟。

我想在计算过程中出现加载程序消息/控件/窗口。 我找到了一个合适的解决方案,我使用Extended WPF Toolkit库中的BusyIndi​​cator。

我尝试使用Background worker类来实现我的需求,但是我得到了下一个异常: "编码的UI测试在COM的单线程单元(STA)模式下运行。在此模式下,所有回放调用应仅从TestMethod线程发生,并且UITestControl不应在TestMethods之间共享。"

我的回答:好的。

我尝试了另一个想法。 我使用参数化线程,其中我将公寓的状态设置为STA,因为上述异常。

Thread thread = new Thread(new ParameterizedThreadStart(*CODED_UI_SEARCH_METHOD*));
thread.SetApartmentState(ApartmentState.STA);
thread.Start(Object object);

但在此之后,我收到了与我的固定线程相同的信息。

所以,我的问题是:当消息窗口/控件通知用户有关该过程时,如何解决在另一个线程中运行控件的识别问题?

提前致谢。

0 个答案:

没有答案