Testing 通过点击文本实现GUI自动化

Testing 通过点击文本实现GUI自动化,testing,automation,automated-tests,sikuli,gui-testing,Testing,Automation,Automated Tests,Sikuli,Gui Testing,有许多GUI自动化工具允许单击指定的图像(例如,众所周知的Sikuli)。有没有办法单击指定的文本而不是图像?这样,该工具将: 截图 识别上面的文字 查找文本位置(以某种方式) 将单击事件发送到此位置 使用这种方法编写测试(许多界面都有文本按钮、输入等)比为每个元素制作屏幕截图要容易得多 我在Sikuli中看到了一些OCR功能,但它对我不起作用(我尝试调用click('some-text-here')。Sikuli内置的OCR功能有很多缺陷且不稳定。所有(或至少大部分)相关问题都列在缺陷中。然而

有许多GUI自动化工具允许单击指定的图像(例如,众所周知的Sikuli)。有没有办法单击指定的文本而不是图像?这样,该工具将:

  • 截图
  • 识别上面的文字
  • 查找文本位置(以某种方式)
  • 将单击事件发送到此位置
  • 使用这种方法编写测试(许多界面都有文本按钮、输入等)比为每个元素制作屏幕截图要容易得多


    我在Sikuli中看到了一些OCR功能,但它对我不起作用(我尝试调用click('some-text-here')。

    Sikuli内置的OCR功能有很多缺陷且不稳定。所有(或至少大部分)相关问题都列在缺陷中。然而,很少有可能的解决方法也不总是适用

  • 如果文本已知,您可以截取文本的屏幕截图,然后将其作为屏幕截图查找。例如,如果您知道此文本的确切字体,您可以在屏幕上自动生成此类文本,并将其作为模式在其他位置定位

  • 内置的OCR,当字体更大,“更胖”且为灰度(通常)时,性能会显著提高。因此,在尝试实际识别之前,您可能会进行一些背景图像处理。我曾经调整图像的大小并对其进行过滤,以获得更好的识别效果。它可以作为命令行工具在背景中使用。例如:

    转换-过滤样条曲线-调整大小100x-取消锐化10x20-类型灰度


  • 我知道这并不能直接回答你的问题,但是这些是你可以考虑的最终解决方案。

    < P>我是Deskover公司的开发人员,我们正在开发一个符合你需求的应用程序。 我们在各种技术上提供100%准确率的文本识别,能够在屏幕上的某个区域、控件或整个窗口中查找特定文本,还能够单击文本或控件

    通过创建工作流,可以按顺序执行不同的操作

    我们Deskover是Sikuli项目的忠实粉丝。我们实际上在UiPath Studio中使用了相同的图像识别引擎

    UiPath Studio是一个可视化工具,可以帮助您轻松创建工作流,但您也可以使用底层API并实现一个提取文本并单击文本的应用程序。
    您可以找到有关UiPath库的更多详细信息。

    “它不起作用”是毫无价值的诊断。请提供一个示例,说明您期望它做什么,以及它做了什么。这不是答案,但谢谢您,我将尝试使用Sikuli,您的建议可能会有所帮助。再次感谢。