2013-10-02 4 views
0

Я новичок в Ruby, и выполнить этот тест:Я получаю NoMethodError на Assert, Руби 1.9.3

require 'selenium-webdriver' 
require 'capybara' 
require 'capybara/cucumber' 
require 'rspec/expectations' 
require 'test/unit' 


driver = Selenium::WebDriver.for :firefox 
Capybara.default_driver = :selenium 

Given /^I am on the homepage$/ do 
driver.navigate.to "http://testurl:8080/" 
end 

When(/^I enter admin authentication$/) do 
usrname = > driver.find_element(:name, 'username') 
usrname.send_keys "admin" 
puts "Username Entered" 
passwd = driver.find_element(:name, 'password') 
passwd.send_keys "admin" 
puts "Password Entered" 
passwd.submit 
puts "Details Submitted" 
end 

Then(/^I should be on the homepage$/) do 
sleep 5 
displayName = driver.find_element(:id, 'prefs_menu') 
assert displayName.text == "Administrator" # 
puts "Correct User Display Name" 
end 

И я получаю ошибку

undefined method `assert' for #<Object:0x2895258> (NoMethodError) ./features/login_steps.rb:42:in `/^I should be on the homepage$/' features\login.feature:10:in `Then I should be on the homepage' 

Скорее всего, это то, что я полностью игнорирую - но какую помощь?

+1

Является ли это опечатка 'usrname => driver.find_element (: имя, 'имя пользователя')'? Я уверен, что это должно быть 'usrname = driver.find_element (: name, 'username')' –

ответ

0

Попробуйте

assert(displayName.text == "Administrator") 
+0

Нет, к сожалению, я все еще получаю ту же ошибку. Я также получаю его, если я пытаюсь использовать assert_equals - я не хватает драгоценного камня? –

+0

Затем попробуйте включить 'test/unit/assertions' – techvineet

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