尝试将 Sikuli 与 JRuby 和 Cucumber 一起使用时出现图像错误

Image error observed while trying to use Sikuli with JRuby and Cucumber

我是 Sikuli 的新手。我正在尝试使用 Sikuli 和 Cucumber 设置一个自动化测试套件。

下面是我的步骤定义:

When(/^I click on DLM icon in the dock$/) do
  puts "Init"
  puts "Setting up screen"
  @screen=Sikuli::Screen.new
  puts "Going to click..."
  @screen.click("/Users/shrivaw1/Documents/Anshul/Testing/DLM/Automation/cucumber/features/images/dlm-ico.png")         # click the DLM icon
end

当我 运行 代码时,我总是得到以下错误:

The image '/Users/shrivaw1/Documents/Anshul/Testing/DLM/Automation/cucumber/features/images/dlm-ico.png' did not match in this region. (Sikuli::ImageNotFound)
  ./features/step_definitions/dlm.rb:16:in `/^I click on DLM icon in the dock$/'
  features/feature_files/dlm.feature:7:in `When I click on DLM icon in the dock'

它说图像在该地区不匹配。 (Sikuli::ImageNotFound).

我用许多不同的图像尝试过此操作,但观察到相同的错误。即使图像存在该区域。我肯定在这里遗漏了一些东西。谁能帮我解决这个问题?如果有人使用 Sikuli 和 Cucumber 创建了自动化框架,请分享您的经验和一些最佳实践。提前致谢。

该错误意味着 Sikuli 无法在您的磁盘上找到您用作图案的图像。确保它肯定存在于您指定的路径中,或者作为更好的解决方案,使用 bundlePath 变量。您可以在这里阅读:

显然,问题出在 Mac 默认屏幕捕获工具 (Cmd + Shift + 4) 上。 拍摄的屏幕截图太大,无法在屏幕上识别。当我将图像大小调整为 50% 时,它工作正常。

感谢 Eugene S 的回答。

谢谢, 安舒尔