Hi, I guess if you wanted a default username and password when one isn't provided you could do this. (I did not test this to see if it works.)
require 'watir' require 'rubygems' $browser = Watir::IE.new class Login def login_by_uname(uname,pwd) if uname.nil? and pwd.nil? uname = "per...@yahoo.com" pwd = "abcd1234" end $browser.goto("http://mail.yahoo.com") puts "Correct URL" $browser.text_field(:id, "username").set('uname') $browser.text_field(:id, "passwd").set('pwd') $browser.button(:id, ".save").click end end #uname = "per...@yahoo.com" => Commented out #pwd = "abcd1234" => Commented out lgn = Login.new() lgn.login_by_uname(uname,pwd) On Mon, Oct 1, 2012 at 1:43 PM, Oscar Rieken <bis...@gmail.com> wrote: > to me this seems like a simple problem of not really understanding ruby and > how classes and methods work I would suggest to pick up the pickaxe book > http://pragprog.com/book/ruby3/programming-ruby-1-9 > > def some_method(username, password) > user_name_element.set username > user_password_element.set password > end > > when you call the method you use the actual params and not the "placeholder" > params > > some_method(t...@email.com, oranges) > > > > > > > > > On Mon, Oct 1, 2012 at 1:10 PM, newlearner <rubylear...@gmail.com> wrote: >> >> Sort of. Though I quite didn't understand why I need to supply values in >> both places, in the method and to the parameters. If I remove the following >> >> uname = "per...@yahoo.com" >> pwd = "abcd1234" >> >> I got following error: >> "undefined local variable or method 'uname' for main:object <Name Error> >> *********** >> >> On Monday, October 1, 2012 9:56:43 AM UTC-7, Joe Fl wrote: >>> >>> Hi, >>> >>> So the solutions we provided was what you were looking for? >>> >>> Thank you, >>> Joe >>> >>> On Mon, Oct 1, 2012 at 12:50 PM, newlearner <rubyl...@gmail.com> wrote: >>> > >>> > Thank you. Though it worked only if I supply the values for the >>> > arguements >>> > in the method as well. So to give an example, I am pasting the code >>> > with the >>> > incorrect credentials you provided. (I have used correct login >>> > credentials). >>> > I have also taken Zeljko suggestion to start method name with lower >>> > case. >>> > >>> > require 'watir' >>> > require 'rubygems' >>> > $browser = Watir::IE.new >>> > class Login >>> > def loginbyuname(uname,pwd) >>> > $browser.goto("http://mail.yahoo.com") >>> > puts "Correct URL" >>> > $browser.text_field(:id, >>> > "username").set('per...@yahoo.com') >>> > $browser.text_field(:id, "passwd").set('abcd1234') >>> > $browser.button(:id, ".save").click >>> > end >>> > >>> > end >>> > uname = "per...@yahoo.com" >>> > pwd = "abcd1234" >>> > lgn = Login.new() >>> > lgn.loginbyuname(uname,pwd) >>> > >>> > ********** >>> > >>> > On Sunday, September 30, 2012 5:40:56 PM UTC-7, Joe Fl wrote: >>> >> >>> >> Hi, >>> >> >>> >> I tested this but with incorrect credential but this works. Hope this >>> >> helps. >>> >> >>> >> require 'watir' >>> >> require 'rubygems' >>> >> $browser = Watir::IE.new >>> >> >>> >> class Login >>> >> >>> >> def LoginByUname(uname,pwd) >>> >> $browser.goto("http://mail.yahoo.com") >>> >> puts "Correct URL" >>> >> $browser.text_field(:id, "username").set('uname') >>> >> $browser.text_field(:id, "passwd").set('pwd') >>> >> $browser.button(:id, ".save").click >>> >> end >>> >> >>> >> end >>> >> >>> >> uname = "per...@yahoo.com" >>> >> pwd = "abcd1234" >>> >> >>> >> lgn = Login.new() >>> >> lgn.LoginByUname(uname,pwd) >>> >> >>> >> Joe >>> >> >>> >> On Sun, Sep 30, 2012 at 6:54 PM, newlearner <rubyl...@gmail.com> >>> >> wrote: >>> >> > Hi Joe, thanks for the reply. >>> >> > >>> >> > Yes it still failed and the error was >>> >> > Undefined local variable or method 'browser' for Login:Class >>> >> > (NameError) >>> >> > >>> >> > On Sunday, September 30, 2012 2:51:47 PM UTC-7, Joe Fl wrote: >>> >> >> >>> >> >> Hi. >>> >> >> >>> >> >> I would drop the $browser and just call the method. Though the >>> >> >> method >>> >> >> my >>> >> >> fail because the self isn't initialized as the $browser. >>> >> >> >>> >> >> On Sep 30, 2012 5:44 PM, "newlearner" <rubyl...@gmail.com> wrote: >>> >> >>> >>> >> >>> >>> >> >>> Here is the code and the the error I am getting: >>> >> >>> >>> >> >>> undefined method "LoginByUname" for #<Watir::IE:0x53c756c> >>> >> >>> <NoMethodError> >>> >> >>> >>> >> >>> require 'watir' >>> >> >>> require 'rubygems' >>> >> >>> $browser = Watir::IE.new >>> >> >>> >>> >> >>> class Login >>> >> >>> $browser.goto("http://mail.yahoo.com") >>> >> >>> puts "Correct URL" >>> >> >>> >>> >> >>> def LoginByUname(uname,pwd) >>> >> >>> self.text_field(:id, "username").set('uname') >>> >> >>> self.text_field(:id, "passwd").set('pwd') >>> >> >>> self.button(:id, ".save").click >>> >> >>> end >>> >> >>> >>> >> >>> $browser.LoginByUname(@uname,@pwd) >>> >> >>> end >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> On Friday, September 28, 2012 1:12:45 PM UTC-7, Joe Fl wrote: >>> >> >>>> >>> >> >>>> Hi, >>> >> >>>> >>> >> >>>> Can you paste your code in here? >>> >> >>>> >>> >> >>>> Thank you, >>> >> >>>> Joe >>> >> >>>> >>> >> >>>> On Fri, Sep 28, 2012 at 3:49 PM, newlearner <rubyl...@gmail.com> >>> >> >>>> wrote: >>> >> >>>> > Hi there, >>> >> >>>> > I am getting this error when I ran the script in ruby. Any help >>> >> >>>> > is >>> >> >>>> > appreciated. >>> >> >>>> > >>> >> >>>> > undefined method "LoginByAccountno" for #<Watir::IE:0x68441e8> >>> >> >>>> > >>> >> >>>> > thanks. >>> >> >>>> > >>> >> >>>> > -- >>> >> >>>> > Before posting, please read http://watir.com/support. In short: >>> >> >>>> > search >>> >> >>>> > before you ask, be nice. >>> >> >>>> > >>> >> >>>> > watir-...@googlegroups.com >>> >> >>>> > http://groups.google.com/group/watir-general >>> >> >>>> > watir-genera...@googlegroups.com >>> >> >>> >>> >> >>> -- >>> >> >>> Before posting, please read http://watir.com/support. In short: >>> >> >>> search >>> >> >>> before you ask, be nice. >>> >> >>> >>> >> >>> watir-...@googlegroups.com >>> >> >>> http://groups.google.com/group/watir-general >>> >> >>> watir-genera...@googlegroups.com >>> >> > >>> >> > -- >>> >> > Before posting, please read http://watir.com/support. In short: >>> >> > search >>> >> > before you ask, be nice. >>> >> > >>> >> > watir-...@googlegroups.com >>> >> > http://groups.google.com/group/watir-general >>> >> > watir-genera...@googlegroups.com >>> > >>> > -- >>> > Before posting, please read http://watir.com/support. In short: search >>> > before you ask, be nice. >>> > >>> > watir-...@googlegroups.com >>> > http://groups.google.com/group/watir-general >>> > watir-genera...@googlegroups.com >> >> -- >> Before posting, please read http://watir.com/support. In short: search >> before you ask, be nice. >> >> watir-general@googlegroups.com >> http://groups.google.com/group/watir-general >> watir-general+unsubscr...@googlegroups.com > > > -- > Before posting, please read http://watir.com/support. In short: search > before you ask, be nice. > > watir-general@googlegroups.com > http://groups.google.com/group/watir-general > watir-general+unsubscr...@googlegroups.com -- Before posting, please read http://watir.com/support. In short: search before you ask, be nice. watir-general@googlegroups.com http://groups.google.com/group/watir-general watir-general+unsubscr...@googlegroups.com