Ui automation 如何使用TestStack.White框架通过变量标题查找窗口?

Ui automation 如何使用TestStack.White框架通过变量标题查找窗口?,ui-automation,office-automation,white-framework,gui-test-framework,Ui Automation,Office Automation,White Framework,Gui Test Framework,我正在使用TestStack.White框架在MS Word 2013中自动打开新文档 我正在使用以下内容打开Microsoft Word应用程序: Application application = Application.Launch("winword.exe"); 之后,我尝试通过部分标题获取窗口: Window window = application.GetWindow("Word", InitializeOption.NoCache); 但它抛出了一个例外,说没有这样

我正在使用TestStack.White框架在MS Word 2013中自动打开新文档

我正在使用以下内容打开Microsoft Word应用程序:

   Application application = Application.Launch("winword.exe");
之后,我尝试通过部分标题获取窗口:

   Window window = application.GetWindow("Word", InitializeOption.NoCache);
但它抛出了一个例外,说没有这样的窗口

窗口标题为:Document1-Word

问题是:考虑到标题每次都在更改:“Document2-Word”、“Document3-Word”等,如何通过部分标题获得窗口

也尝试了*Word,但此func似乎不支持通配符

如果我调用: List windows=application.GetWindows(); 启动应用程序后,windows列表为空

提前感谢,,
Ostap

打开窗户似乎需要一些明显的时间。GUI测试框架通常具有Wait()等函数,以确保窗口已创建/可见/启用。我不是Teststack.White方面的专家。本文档可能会有所帮助:

您可以使用它查找所有打开的窗口

在该回调中,您将得到一个窗口句柄,然后您可以使用该句柄和

这将让您决定所需窗口的窗口句柄。从那里,您可以使用来检索word文档的进程ID


最后,您可以使用应用程序创建TestStack White应用程序。Start()

等待没有帮助,30秒后找不到窗口。尝试按标题搜索,标题在屏幕上显示为100%。在窗口搜索之前,还尝试了睡眠10秒。好的,是Microsoft。:)使用COM互操作接口和Word对象模型怎么样?另一个更具体的例子:谢谢你的回答。Microsoft COM适用于本机控件/工作流。在我的例子中,我们有一个MS Word插件,它钩住并替换MS对话框/控件等。需要验证它是否能够处理此类控件
public static Window GetWindowBySubstring(this Application app, string titleSubString)
{
    return app.GetWindows().FirstOrDefault(w => w.Title.Contains(titleSubString));
}