Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何拍摄每个步骤的屏幕截图并包含页面类型?_Ruby_Jenkins_Cucumber_Watir - Fatal编程技术网

Ruby 如何拍摄每个步骤的屏幕截图并包含页面类型?

Ruby 如何拍摄每个步骤的屏幕截图并包含页面类型?,ruby,jenkins,cucumber,watir,Ruby,Jenkins,Cucumber,Watir,我创建了一个项目,在我的网站主页、产品页面等上有7个左右不同的页面,我想在每一步之后截图。我希望保存的屏幕截图的名称包括我所在页面的类型,我在步骤的一个变量中设置了该类型。我把这个添加到hooks.rb文件中,但我不知道如何包含这个类型。有人能告诉我最好的方法吗 AfterStep do |scenario| screenshot = "#{scenario.name}.png" @browser.driver.save_screenshot screenshot embed scr

我创建了一个项目,在我的网站主页、产品页面等上有7个左右不同的页面,我想在每一步之后截图。我希望保存的屏幕截图的名称包括我所在页面的类型,我在步骤的一个变量中设置了该类型。我把这个添加到hooks.rb文件中,但我不知道如何包含这个类型。有人能告诉我最好的方法吗

AfterStep do |scenario|
  screenshot = "#{scenario.name}.png"
  @browser.driver.save_screenshot screenshot
  embed screenshot, 'image/png'
end

要将其命名为scenarioName\u image\u png.png,您可以使用:

screenshot = "#{scenario.name}"
@browser.driver.save_screenshot screenshot
embed("#{screenshot}_image_png.png")
对于类似image\u png\u scenarioName.png的内容,请将最后一行更改为:

embed("image_png_#{screenshot}.png)

如果在变量中已经有页面类型,是否可以将其包含在作为屏幕截图名称的字符串中?