如何在我的代码中添加Date作为变量字段以在文本字段中打印(Ruby)

时间:2016-11-15 23:09:03

标签: ruby cucumber watir-webdriver

我正在使用Ruby,Cucumber,Watir-webdriver等编写一个快速自动化脚本。我正在创建一个广告活动,并希望广告系列的标题(我可以输入任何内容的文本字段)包含今天的日期时间。目前我的代码如下:

When(/^I enter "([^"]*)" into the campaign name field$/) do |arg1|
  @browser.textarea(:id => 'campaign_name').set('SBTC - Regression - Campaign Create-' Time.now.strftime("%d/%m/%Y %H:%M")) 
end

显然这不正确,我在论坛上没有看到任何关于如何做的事情。最终结果是,当自动化完成后,我有一个新的广告活动标题“SBTC - 回归 - 广告系列创建 - [TodayDateTime]”

1 个答案:

答案 0 :(得分:1)

您需要interpolate Time.now.strftime方法,以便在字符串中执行代码。

在ruby中,这通常通过将待执行的代码放在花括号中来完成,花括号在双引号字符串中以octothorpe开头。例如:

require 'watir-webdriver'

b = Watir::Browser.new :chrome
b.goto "google.com"
b.text_field(:name => 'q').set("example of string interpolation: #{Time.now.strftime('%d/%m/%Y %H:%M')}")