Ruby reusability

Hi,
I have created two classes and i am calling methods from one class to
another. Look into the following classes

#---------------------Class1--------------------------#
require “Practicals3.rb”
require “test/unit”
require “rubygems”
gem “selenium-client”
require “selenium/client”

class Untitled < Test::Unit::TestCase
def test_untitled2
t = Login.new
t.test_openbrowser(1,2)
t.initialstep(1,2)
t.Booking(1,2)
#---------------------

@selenium.click “css=span.bold.decornone”
#----------------------

t.closebrowser(1,2)
end

end

#---------------------------Class2----------------------#
require “test/unit”
require “rubygems”
gem “selenium-client”
require “selenium/client”
class Login
attr_reader :a, :b

def test_openbrowser(a,b)
  @verification_errors = []
@selenium = Selenium::Client::Driver.new \
  :host => "localhost",
  :port => 4444,
  :browser => "*chrome",
  :url => "http://demo.jeluk.com/",
  :timeout_in_second => 60

@selenium.start_new_browser_session
end

def initialstep(a,b)

puts a
puts b

@selenium.open ""
@selenium.type "id=login", "demo.harish"
@selenium.type "id=password", "123456789"
@selenium.click "name=commit"
@selenium.wait_for_page_to_load "30000"

end

def Booking(a,b)
@selenium.select “id=searchbus_to”, “label=Hyderabad”
@selenium.click “name=commit”
@selenium.set_speed “3000”
@selenium.click “css=img[alt=“Book”]”

end

def closebrowser(a,b)
@selenium.close_current_browser_session
end

end

In the class1 i am writing the step as @selenium.click
"css=span.bold.decornone
so, when i execute the script it is showing the following error
“NoMethodError: undefined method `click’ for nil:NilClass”

The step "@selenium.click “css=span.bold.decornone” in class1 is
dependent on the method test_openbrowser in class2. And i dont want to
open the new browser session.

Please suggest me the solution

Make @selenium into $selenium. Initialize it outside of both tests,
and use it inside both.

Steve K. wrote in post #1026293:

Make @selenium into $selenium. Initialize it outside of both tests,
and use it inside both.

Thanks it worked

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs