#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