【发布时间】:2015-03-10 18:55:00
【问题描述】:
我开发了一个 win32 应用程序 (c++),现在我想使用 Inspect (SDK) 进行一些自动化测试。
我的问题是 Inspect 无法识别 EDIT 框。我的意思是 Inspect 无法区分他们的名字。它可以看到有多个EDIT 框,但它们都被命名为“none”,恰好是空值。这些名称始终为空,即使我使用 LPCTSTR lpWindowName 参数初始化它们
// Create an edit box
hEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
_T("EDIT"),
_T("I JUST WANT TO BE SEEN !"),
WS_CHILD|WS_VISIBLE|
ES_MULTILINE|ES_AUTOVSCROLL|ES_AUTOHSCROLL,
50,
100,
200,
100,
hWnd,
(HMENU)IDC_MAIN_EDIT,
GetModuleHandle(NULL),
NULL);
我也尝试使用setWindowText 方法设置名称,但它也不起作用。
这两种方法在BUTTON 上运行良好,但在EDIT 上不起作用。
有没有人提供线索?
【问题讨论】:
-
您确定您的窗口文本没有出现在可访问对象的任何位置吗?不是
accValue吗?如果是accValue,我想我有预感…… -
无法通过ID区分?例如。在上面的示例中,ID 是
IDC_MAIN_EDIT。 -
事实上,
LPCTSTR lpWindowName出现在编辑框中。所以是的,@andlabs,它是当前值而不是名称。 -
@andlabs:事实上,LPCTSTR lpWindowName 显示在编辑框中有文本。所以是的,它是当前值而不是名称。 (抱歉转帖)
-
是的,编辑控件的窗口文本是已经输入的文本。我的问题是,检查工具中显示为“值:”的内容是什么?如果是这样,我可以提供一个关于发生了什么的假设。如果您想尝试我将要使用的内容,请在其中一个带有其他文本的编辑框的左侧放置一个标签,然后获取该编辑框的可访问性信息。