logo smartbear TestComplete 系列教程 我也要发布文档

TestComplete教程:光学字符识别(三)模拟用户操作


TestComplete是一款具有人工智能的自动UI测试工具,利用自动化测试工具和人工智能支持的混合对象识别引擎,轻松检测和测试每个桌面,Web和移动应用程序。使用TestComplete,可以提高测试覆盖率并帮助提供经过实战考验的高质量软件。本文描述了在光学字符识别教程中,如何在用户界面元素被其文本内容识别的情况下模拟用户操作。

点击下载TestComplete试用版

在TestComplete中,可以使用光学字符识别来根据显示的文本查找屏幕区域,并模拟该区域上的用户操作(例如,单击它)。

在关键字测试中

使用OCR操作可以找到包含特定文本的屏幕区域,然后在该区域或附近区域模拟用户操作:

1、将操作添加到测试中。

2、选择要在其上模拟用户操作的屏幕对象。TestComplete将识别该对象中的所有文本。所选对象必须存在于系统中,并且必须在屏幕上可见。

注意:要在移动应用程序中指定对象,可以在“移动屏幕”窗口中选择它。被测应用程序和运行该应用程序的移动设备都必须准备进行测试,以使TestComplete能够访问它们。要获取移动设备的整个屏幕,可以使用Mobile.Device.Desktop属性。

3、选择所需的文本片段。如果有几个包含文本的片段,请指定所需的片段:

TestComplete教程:光学字符识别(三)模拟用户操作

4、要在包含片段的屏幕区域上模拟用户操作,请选择适当的方法:

TestComplete教程:光学字符识别(三)模拟用户操作

5、如果需要,请指定方法参数。

6、要模拟鼠标单击(或触摸)文本片段旁边的区域,请选择ClickNextTo(或TouchNextTo)方法。要在文本片段旁边的区域中模拟键盘输入,请选择SendKeys方法。指定目标区域位置:

TestComplete教程:光学字符识别(三)模拟用户操作

在脚本中

1、使用该OCR.Recognize方法可以识别对象或屏幕区域包含的文本。

2、使用Block或BlockByText属性来获取包含特定文本片段的区域。

3、要在包含文本片段的屏幕区域上模拟用户操作,请调用适当的方法。例如:

JavaScript,JScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).Click();
PythonOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).Click()
VBScriptCall OCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).Click
DelphiScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText('*clock*', spLargest).Click;
C#ScriptOCR.Recognize(Aliases["myApp"]["wndForm"])["BlockByText"]("*clock*", spLargest)["Click"]();

4、要模拟在包含文本片段的区域旁边的屏幕区域上的单击(或触摸),请调用ClickNextTo(或TouchNextTo)方法并指定目标区域的位置。例如:

JavaScript,JScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).ClickNextTo(toRight, 15);
PythonOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).ClickNextTo(toRight, 15)
VBScriptCall OCR.Recognize(Aliases.myApp.wndForm).BlockByText("*clock*", spLargest).ClickNextTo(toRight, 15)
DelphiScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText('*clock*', spLargest).ClickNextTo(toRight, 15);
C#ScriptOCR.Recognize(Aliases["myApp"]["wndForm"])["BlockByText"]("*clock*", spLargest)["ClickNextTo"](toRight, 15);

要在文本片段旁边的屏幕区域中模拟键盘输入,请调用该SendKeys方法并指定要按下的键和目标区域的位置。例如:

JavaScript,JScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*item*", spLargest).SendKeys("test", toRight, 15);
PythonOCR.Recognize(Aliases.myApp.wndForm).BlockByText("*item*", spLargest).SendKeys("test", toRight, 15)
VBScriptCall OCR.Recognize(Aliases.myApp.wndForm).BlockByText("*item*", spLargest).SendKeys("test", toRight, 15)
DelphiScriptOCR.Recognize(Aliases.myApp.wndForm).BlockByText('*item*', spLargest).SendKeys('test', toRight, 15);
C#ScriptOCR.Recognize(Aliases["myApp"]["wndForm"])["BlockByText"]("*item*", spLargest)["SendKeys"]("test", toRight, 15);

支持的用户操作

在TestComplete通过其文本内容识别的屏幕区域上,可以模拟以下用户操作:

在桌面和Web应用程序中

  • 点击并双击:

Click

ClickM

ClickR

DblClick

DblClickM

DblClickR

默认情况下,这些方法模拟在指定屏幕区域中心的点击。要模拟该区域特定点的点击,请使用适当的参数调用方法。

ClickNextTo

此方法模拟在识别的文本块的左侧,右侧,顶部或底部指定距离处的单击。

  • 悬停鼠标:

Hover

  • 拖动:

Drag

DragM

DragR

在移动应用中

  • 触摸和长时间触摸:

Touch

LongTouch

注意:在Android设备上,该方法的HoldDuration参数不受支持,将被忽略。

默认情况下,这些方法模拟指定区域中心的触摸。要模拟该区域特定点的点击,请使用适当的参数调用方法。

TouchNextTo

此方法模拟位于识别的文本块的左侧、右侧、顶部或底部指定距离处的触摸。

  • 拖动:

Drag

在所有应用中

  • 键盘输入:

SendKeys

此方法在屏幕区域中模拟键盘输入,该屏幕区域位于已识别的文本块的左侧、右侧、顶部或底部指定距离处。

本文内容到这里就结束了,但是教程内容还在不断更新中,感兴趣的朋友可以继续关注我们哦~您也可以下载TestComplete试用版评估一下~

相关内容推荐:

TestComplete教程:光学字符识别(一)处理UI元素

TestComplete教程:光学字符识别(二)识别屏幕上文本须满足的要求

TestComplete系列教程>>>


想要购买TestComplete正版授权,或了解更多产品信息请点击“咨询在线客服”