2016-11-15 1 views
0

Я пишу сценарий быстрой автоматизации с использованием Ruby, Cucumber, Watir-webdriver и т. Д. Я создаю рекламную кампанию и хочу заголовок кампании (текстовое поле, в которое я могу вписать что-либо), чтобы содержать то, что существует сегодня. В настоящее время мой код выглядит следующим образом:Как добавить Date в качестве поля переменной в моем коде для печати в текстовом поле (Ruby)

 
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 - регрессия - Кампания Create - [TodayDateTime]»

ответ

1

Вам нужно interpolate метод Time.now.strftime так, что код выполняется в строке.

В рубине это обычно делается путем размещения кода, который должен выполняться в фигурных скобках, которые предшествуют октоторпу в строке с двумя кавычками. Например:

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')}") 
+0

Это сделало, спасибо !! – SChen

Смежные вопросы