运行时中的文本识别
相关项: GUI 测试和组件
OpenText Functional Testing 使用光学字符识别 (OCR) 机制来标识应用程序中的文本。
OpenText Functional Testing 何时使用 OCR
在以下情况下可以使用 OpenText Functional Testing 的 OCR 功能:
- 使用测试和脚本化组件时,可以使用文本和文本区域检查点或输出值命令在对象中验证或检索文本。
- 另外,处理测试、关键字或脚本化组件和函数库时,可以插入步骤,以使用 .GetVisibleText、.GetTextLocation 测试对象方法、TextUtil.GetText 或 TextUtil.GetTextLocation 保留的对象方法或 .GetText (针对终端仿真器对象) 从应用程序中的对象捕获文本。
- 文本测试对象 (代表应用程序中的特定文本) 也使用 OCR 进行标识。
交互屏幕中的对象不支持文本识别。
为了提高测试的性能,OpenText Functional Testing 在每次测试运行中缓存 OCR 引擎从图像中检索的文本。
您可以在测试运行期间更改 OCR 设置,例如使用 SetABBYYParameters。如果您需要这些更改来影响之前在测试运行中检索到文本的图像,您需要先清除 OCR 缓存。有关详细信息,请参阅对象模型参考中的 ClearOCRCache。
文本测试对象
创建文本测试对象以表示应用程序中的特定文本,而与开发应用程序所使用的技术无关。然后,您可以对这些测试对象执行操作,例如单击、拖动、放置和悬停。
可以在对象存储库编辑器中以及在录制会话期间添加文本测试对象。有关详细信息,请参阅请参阅 "使用图像识别或文本测试对象"和请参阅 "录制文本对象步骤"。
对于 TextObjects 上支持的操作和属性,请参阅对象模型参考中的图像识别和文本 > TextObject 对象主题。
OCR 机制和设置
当使用 OCR 机制时,有许多因素可能会影响其检索的文本。可以根据要检索的文本的特征来调整多个 OCR 配置选项,以优化捕获文本的方式。使用请参阅 "配置文本识别设置"指定首选的文本识别机制和特定于 OCR 的设置。
可以使用以下文本识别引擎之一:
- ABBYY OCR (默认选项)
- Tesseract OCR 引擎
- Google 云 OCR 引擎
- Baidu 云 OCR 引擎
-
使用云 OCR 引擎需要在相关供应商处设置一个帐户,并获取用于连接到云服务的访问令牌或密钥。
- 如果 OpenText Functional Testing 无法使用已配置的详细信息连接到云 OCR 服务,它会改用 ABBYY。
-
要使用 ABBYY OCR 引擎进行文本识别,您必须在安装 OpenText Functional Testing 时包含它。如果未安装 ABBYY,Tesseract 将用作默认引擎。
优化文本识别
OCR 的准确性取决于字体以及图像的质量和均匀性。
为了执行更有效的文本识别,您还应注意以下事项:
| 参数 | 描述 |
|---|---|
| 文本中的字体 |
(仅适用于 ABBYY 和 Tesseract OCR 引擎)
|
| 颜色和颜色对比度 |
|
| 图像中的文本 |
|
| 文本识别的尺寸 |
|
| 在 UFT 15.0 或更低版本中创建的测试 |
OpenText Functional Testing 现在使用比以前更新的 ABBYY OCR 引擎。因此,您可能会看到在 OpenText Functional Testing 15.0 或更早版本中创建的测试的文本识别有变化。 |
| OCR 引擎一致性 |
确定了哪种 OCR 引擎最适合您的测试后,建议您始终使用该引擎。对不同的运行使用不同的引擎可能会产生不同的结果。 |
| 识别不寻常的文本字符 |
如果您使用 ABBYY OCR 引擎,可以训练它来识别应用程序中不寻常或不清楚的字符。 有关详细信息,请参阅请参阅 "ABBYY OCR 模式训练"。 |
另请参见:

