我正在使用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]”
答案 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')}")