[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Unable to open the script in anouther script

Pranjal Jain

4/9/2008 7:03:00 AM

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

3 Answers

Stefan Lang

4/9/2008 12:00:00 PM

0

2008/4/9, Pranjal Jain <pranjal.jain123@gmail.com>:
> 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

Chris Hulan

4/9/2008 4:36:00 PM

0

On Apr 9, 3:03 am, Pranjal Jain <pranjal.jain...@gmail.com> 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-....

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

Julian Leviston

4/9/2008 9:59:00 PM

0

[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.ze...


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