尝试使用带有JRuby和Cucumber的Sikuli时观察到图像错误

时间:2015-06-23 21:57:33

标签: cucumber jruby sikuli cucumber-jvm sikuli-script

我是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创建了自动化框架,请分享您的经验和一些最佳实践。提前谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

感谢Eugene S的回答。

谢谢, Anshul