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]