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

Reply via email to