I am creating a testing automation using Cucumber and SitePrism. I got an error when running cucumber
command to start the scenario and got this error:
uninitialized constant HomePage::Navbar (NameError)
.../features/page_object/home_page.rb:4:in `<class:HomePage>'
.../features/page_object/home_page.rb:1:in `<top (required)>'
I have 3 Ruby classes located in a separate files
features/page_object/home_page.rb
class HomePage < SitePrism::Page
set_url "/"
section :navbar, Navbar, "header"
element :flash_message, ".flash__text"
element :username_link, ".c-nav-list__link.u-fg--yellow"
end
features/page_object/navbar/main.rb
class Navbar < SitePrism::Section
section :login_section, LoginSection, "#new_user_session"
element :login_button, :xpath, "//a[@id='login_link']"
end
features/page_object/navbar/login_section.rb
class LoginSection < SitePrism::Section
element :username_field, :xpath, "//input[@id='user_session_username'"
element :password_field, :xpath, "//input[@id='user_session_password'"
element :remember_me_checkbox,
:xpath, "//input[@id='user_session_remember_me']"
element :forgot_password_link, :xpath, "//a[text()='Lupa Password?']"
element :submit_button, :xpath, "//button[@type='submit']"
element :facebook_login_button, :xpath, "//a[@id='fb_login_link']"
element :gplus_login_button, :xpath, "//a[@id='gplus_login_link']"
def login(username, password)
self.username_field.set(username)
self.password_field.set(password)
self.submit_button.click
end
end
Need help so the automation could run as it should be (with no error). Any solution?