#Hi,

#This is what I have got, I don't think it is anything new:

#each page has a class where objects of that class are mapped
class Login
  def username;$ie.text_field(:name, 'user_name');end
  def password;$ie.text_field(:name, 'password');end
  def remember_me;$ie.checkbox(:name, 'remember_me');end
  def sign_in;$ie.button(:value, 'Sign in');end
end


#objects that dont neatly fit into a class go into a project module
module Mission
   def Mission.log_out;$ie.link(:text, /Log-out/);end
end

#browser also has its own module
module Browser
   def Browser.open;$ie = Watir::IE.new;end
   def Browser.goto(url);$ie.goto(url);end
   def Browser.bring_to_front;$ie.bring_to_front;end
   def Browser.maximize;$ie.maximize;end
   def Browser.close;$ie.close;end
end

#we have suites of tests with a test set-up and teardown method
#the set-up is executed before each method, the teardown after
class MissionSuite < Test::Unit::TestCase
    include Mission
    include Browser

    def setup
      Browser.open
      Browser.goto('http://missiontesting.updatelog.com')
      Browser.bring_to_front
      Browser.maximize
      #we use ruby test assertions for are own purposes
      login = Login.new
      assert(login.username.exists?)
      assert(login.password.exists?)
    end

    def teardown
      Browser.close
    end

    def test_1
      login = Login.new
      login.username.set('aidy')
      login.password.set('lewis')
      login.remember_me.set
      #need to use the watir xml logger or log to xml myself for
external purposes

    end

    def test_2
      login = Login.new
      login.username.set('tony')
      login.password.set('smith')
      login.remember_me.clear
      login.sign_in.click
    end


    end

#don't know if anyone has any opinions

#aidy
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to