Кажется, нет никакого способа получить java.io. Консольный объект при запуске приложения через Eclipse. Консоль командной строки не открыта с приложением, когда это выполняется как фоновый процесс (предпосылки к Eclipse?). В настоящее время нет никакого плагина Eclipse для обработки этой проблемы, главным образом вследствие того, что java.io. Консоль является заключительным классом.
Все, что можно действительно сделать, протестировать возвращенный Консольный объект на пустой указатель и продолжиться оттуда.
Вот как я сделал это с огурцом, надеюсь, это поможет. Знак # в определении шага помогает CSS понять, что происходит.
Это работает только с идентификаторами, а не с именами классов
Определение шага
Then /^(?:|I )should see ([^\"]*) within a div with id "([^\"]*)"$/ do |text, selector|
# checks for text within a specified div id
within "##{selector}" do |content|
if defined?(Spec::Rails::Matchers)
content.should contain(text)
else
hc = Webrat::Matchers::HasContent.new(text)
assert hc.matches?(content), hc.failure_message
end
end
end
Функция
Scenario Outline: Create Project
When I fill in name with <title>
And I select <data_type> from data_type
And I press "Create"
Then I should see <title> within a div with id "specifications"
Scenarios: Search Terms and Results
| data_type | title |
| Books | A Book Title |
Я не очень хорошо знаком с API WebRat, но как насчет использования поиска в DOM для получения ссылочного идентификатора класса, который вы ищете, а затем передачи его в функцию click_link?
Вот ссылка в некоторый javascript, чтобы получить элемент по классу. http://mykenta.blogspot.com/2007/10/getelementbyclass-revisited.html
Теперь, когда я думаю об этом, как насчет использования Javascript, чтобы просто изменить его на какой-то случайный идентификатор, а затем щелкнуть по нему?
В любом случае, это должно работать до тех пор, пока не будут разрешены скромные дебаты об имени, чтобы включить функцию getbyclass.
Вот как вставить текст в элемент с именем класса "edit_botton"
Then I should see "Translation here" within "[@class='edit_button']"