Unable to open the script in anouther script

Discussion in 'Ruby' started by Pranjal Jain, Apr 9, 2008.

  1. Pranjal Jain

    Pranjal Jain Guest

    Hi All
    I ma trying to call the function written in one script in other script.
    But it is giving me the error.

    The called script is 2.rb

    require 'watir'
    def test_b

    $ie1 = IE.new

    $ie1.text_field:)name, "q").set "pickaxe"
    $ie1.button:)name, "btnG").click
    #ie.showAllObjects
    end

    the calling script is 1.rb

    require 'watir'
    require '2'

    class TestCase

    def test_a
    $ie = IE.new
    $ie.goto 'www.google.com'
    end
    test_b
    end


    The error popped is as follows:

    /2.rb:4: in 'test_b': uninitialized constant IE(NameError)
    from 1.rb:10

    Please help.
    Thanks in advance.
    --
    Posted via http://www.ruby-forum.com/.
     
    Pranjal Jain, Apr 9, 2008
    #1
    1. Advertising

  2. Pranjal Jain

    Stefan Lang Guest

    Re: Unable to open the script in anouther script

    2008/4/9, Pranjal Jain <>:
    > Hi All
    > I ma trying to call the function written in one script in other script.
    > But it is giving me the error.
    >
    > The called script is 2.rb
    >
    > require 'watir'
    > def test_b
    >
    > $ie1 = IE.new
    >
    > $ie1.text_field:)name, "q").set "pickaxe"
    > $ie1.button:)name, "btnG").click
    > #ie.showAllObjects
    > end
    >
    > the calling script is 1.rb
    >
    > require 'watir'
    > require '2'
    >
    > class TestCase
    >
    > def test_a
    > $ie = IE.new
    > $ie.goto 'www.google.com'
    > end
    > test_b
    > end
    >
    >
    > The error popped is as follows:
    >
    > ./2.rb:4: in 'test_b': uninitialized constant IE(NameError)
    > from 1.rb:10


    I've never used Watir myself, but looking at the API docs it
    looks like you should replace references to IE with
    Watir::IE.

    HTH,
    Stefan
     
    Stefan Lang, Apr 9, 2008
    #2
    1. Advertising

  3. Pranjal Jain

    Chris Hulan Guest

    Re: Unable to open the script in anouther script

    On Apr 9, 3:03 am, Pranjal Jain <> wrote:
    > Hi All
    > I ma trying to call the function written in one script in other script.
    > But it is giving me the error.
    >
    > The called script is 2.rb
    >
    > require 'watir'
    > def test_b
    >
    > $ie1 = IE.new
    >
    > $ie1.text_field:)name, "q").set "pickaxe"
    > $ie1.button:)name, "btnG").click
    > #ie.showAllObjects
    > end
    >
    > the calling script is 1.rb
    >
    > require 'watir'
    > require '2'
    >
    > class TestCase
    >
    > def test_a
    > $ie = IE.new
    > $ie.goto 'www.google.com'
    > end
    > test_b
    > end
    >
    > The error popped is as follows:
    >
    > /2.rb:4: in 'test_b': uninitialized constant IE(NameError)
    > from 1.rb:10
    >
    > Please help.
    > Thanks in advance.
    > --
    > Posted viahttp://www.ruby-forum.com/.


    Remember that ruby is interpreted, and code is evaluated line by line

    > class TestCase
    > def test_a
    > $ie = IE.new
    > $ie.goto 'www.google.com'
    > end

    test_a is defined but has NOT been executed
    > test_b

    test_ is invoked here, the code is executed
    Since test_a has not been executed yet $ie has not been defined
    > end



    I'd suggest:
    class TestCase
    def test_a
    $ie = IE.new
    $ie.goto 'www.google.com'
    test_b
    end
    end
     
    Chris Hulan, Apr 9, 2008
    #3
  4. [Note: parts of this message were removed to make it a legal post.]

    Ruby is complaining that there's an uninitialized constant called
    IE... which means (funnily enough) that it doesn't know what IE means.

    This is probably because you're trying to use a constant which is
    namespaced without the namespace!

    also, I think that you probably used to use php, given the
    nomenclature you're using, and the fact that you're putting $ chars in
    front of all your variable names.

    Don't do this. $ in front of a variable name means it's a global, and
    I'm fairly sure you don't want globals all through your code.

    This is what you probably wanted: (from the watir example page)

    ie = Watir::IE.new

    Julian.



    Learn Ruby on Rails! Check out the FREE VIDS (for a limited time)
    VIDEO #3 out NOW!
    http://sensei.zenunit.com/


    On 09/04/2008, at 5:03 PM, Pranjal Jain wrote:

    > Hi All
    > I ma trying to call the function written in one script in other
    > script.
    > But it is giving me the error.
    >
    > The called script is 2.rb
    >
    > require 'watir'
    > def test_b
    >
    > $ie1 = IE.new
    >
    > $ie1.text_field:)name, "q").set "pickaxe"
    > $ie1.button:)name, "btnG").click
    > #ie.showAllObjects
    > end
    >
    > the calling script is 1.rb
    >
    > require 'watir'
    > require '2'
    >
    > class TestCase
    >
    > def test_a
    > $ie = IE.new
    > $ie.goto 'www.google.com'
    > end
    > test_b
    > end
    >
    >
    > The error popped is as follows:
    >
    > ./2.rb:4: in 'test_b': uninitialized constant IE(NameError)
    > from 1.rb:10
    >
    > Please help.
    > Thanks in advance.
    > --
    > Posted via http://www.ruby-forum.com/.
    >
     
    Julian Leviston, Apr 9, 2008
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. vince

    unable to open remote project

    vince, Oct 20, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    295
    vince
    Oct 20, 2003
  2. richard

    Unable to open Asp.Net App

    richard, Feb 13, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    401
    richard
    Feb 13, 2004
  3. WJ
    Replies:
    2
    Views:
    1,758
  4. Jake Barnes
    Replies:
    6
    Views:
    451
    9.co.uk
    Feb 8, 2006
  5. Replies:
    1
    Views:
    87
    -Lost
    Apr 8, 2007
Loading...

Share This Page