Unable to open the script in anouther script

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.

2008/4/9, Pranjal J. [email protected]:

class TestCase

./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

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 Apr 9, 3:03 am, Pranjal J. [email protected] wrote:

class TestCase
/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