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