Hi,
If you uncomment 'uname' and 'pwd' make the equal to nothing. You
will need to change both .nil? to .empty? and it might work.
require 'watir'
require 'rubygems'
$browser = Watir::IE.new
class Login
def loginbyuname(uname,pwd)
if uname.empty? and pwd.empty?
uname = "[email protected]"
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 = ""
pwd = ""
lgn = Login.new()
lgn.LoginByUname(uname,pwd)
On Mon, Oct 1, 2012 at 11:44 PM, newlearner <[email protected]> wrote:
> Got the following error for this script
>
> `<main>': undefined local variable or method `uname' for main:Object
> (NameError)
>
> thanks.
>
>
> On Monday, October 1, 2012 6:46:24 PM UTC-7, Joe Fl wrote:
>>
>> 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 = "[email protected]"
>> 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 = "[email protected]" => 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 <[email protected]> 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([email protected], oranges)
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Mon, Oct 1, 2012 at 1:10 PM, newlearner <[email protected]> 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 = "[email protected]"
>> >> 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 <[email protected]>
>> >>> 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('[email protected]')
>> >>> > $browser.text_field(:id, "passwd").set('abcd1234')
>> >>> > $browser.button(:id, ".save").click
>> >>> > end
>> >>> >
>> >>> > end
>> >>> > uname = "[email protected]"
>> >>> > 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 = "[email protected]"
>> >>> >> pwd = "abcd1234"
>> >>> >>
>> >>> >> lgn = Login.new()
>> >>> >> lgn.LoginByUname(uname,pwd)
>> >>> >>
>> >>> >> Joe
>> >>> >>
>> >>> >> On Sun, Sep 30, 2012 at 6:54 PM, newlearner <[email protected]>
>> >>> >> 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" <[email protected]>
>> >>> >> >> 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
>> >>> >> >>>> <[email protected]>
>> >>> >> >>>> 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.
>> >>> >> >>>> >
>> >>> >> >>>> > [email protected]
>> >>> >> >>>> > http://groups.google.com/group/watir-general
>> >>> >> >>>> > [email protected]
>> >>> >> >>>
>> >>> >> >>> --
>> >>> >> >>> Before posting, please read http://watir.com/support. In short:
>> >>> >> >>> search
>> >>> >> >>> before you ask, be nice.
>> >>> >> >>>
>> >>> >> >>> [email protected]
>> >>> >> >>> http://groups.google.com/group/watir-general
>> >>> >> >>> [email protected]
>> >>> >> >
>> >>> >> > --
>> >>> >> > Before posting, please read http://watir.com/support. In short:
>> >>> >> > search
>> >>> >> > before you ask, be nice.
>> >>> >> >
>> >>> >> > [email protected]
>> >>> >> > http://groups.google.com/group/watir-general
>> >>> >> > [email protected]
>> >>> >
>> >>> > --
>> >>> > Before posting, please read http://watir.com/support. In short:
>> >>> > search
>> >>> > before you ask, be nice.
>> >>> >
>> >>> > [email protected]
>> >>> > http://groups.google.com/group/watir-general
>> >>> > [email protected]
>> >>
>> >> --
>> >> Before posting, please read http://watir.com/support. In short: search
>> >> before you ask, be nice.
>> >>
>> >> [email protected]
>> >> http://groups.google.com/group/watir-general
>> >> [email protected]
>> >
>> >
>> > --
>> > Before posting, please read http://watir.com/support. In short: search
>> > before you ask, be nice.
>> >
>> > [email protected]
>> > http://groups.google.com/group/watir-general
>> > [email protected]
>
> --
> Before posting, please read http://watir.com/support. In short: search
> before you ask, be nice.
>
> [email protected]
> http://groups.google.com/group/watir-general
> [email protected]
--
Before posting, please read http://watir.com/support. In short: search before
you ask, be nice.
[email protected]
http://groups.google.com/group/watir-general
[email protected]