How to get Response URL value - help requested

M

Madu Nar

Hi,
I have a problem here.
I have a ruby code that opens Google, types "book stores" and clicks on
"Search" button.

# Code Snippet Begins here

require 'net/http'
require 'uri'
require 'watir'

term="book stores"

url1 = 'http://www.google.com'
ie = Watir::IE.start(url1)
ie.text_field:)name, "q").set(term)
ie.button:)name, "btnG").click

# Code Snippet Ends here

Now I need to obtain the value of the response URL generated by this
search and assign it to a variable.
[ i.e. http://www.google.com/search?hl=en&lr=&q=book+stores]

How do I read the HTTP Header information for the "location" attribute?
Any help is greatly appreciated.

Thanks,
Madu
 
M

Madu Nar

Any help appreciated... Please let know.

Thanks again,
Madu

Madu said:
Hi,
I have a problem here.
I have a ruby code that opens Google, types "book stores" and clicks on
"Search" button.

# Code Snippet Begins here

require 'net/http'
require 'uri'
require 'watir'

term="book stores"

url1 = 'http://www.google.com'
ie = Watir::IE.start(url1)
ie.text_field:)name, "q").set(term)
ie.button:)name, "btnG").click

# Code Snippet Ends here

Now I need to obtain the value of the response URL generated by this
search and assign it to a variable.
[ i.e. http://www.google.com/search?hl=en&lr=&q=book+stores]

How do I read the HTTP Header information for the "location" attribute?
Any help is greatly appreciated.

Thanks,
Madu
 
M

Madu Nar

Andrei said:
I have no experience with Watir whatsoever, but the docs show there's
a url() method.

http://wtr.rubyforge.org/rdoc/classes/Watir/IE.html#M000293

Did you check it out?

Andrei

Thanks Andrei,
Did try the url() function from Watir but that did not work and gave me
the following exceptions...
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `method_missing'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `wait'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `upto'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `wait'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2014:in `click'
nethttp_1.rb:16
W, [30-Sep-2006 15:33:33#2288] WARN -- : frame error in waitdocument
OLE error code:80070005 in <Unknown>
Access is denied.


HRESULT error code:0x80020009
Exception occurred.
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `method_missing'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1405:in `wait'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `upto'
c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:1404:in `wait'
nethttp_1.rb:22

I am still trying but not successful yet.

Thanks,
Madu
 
B

Bret Pettichord

How do I read the HTTP Header information for the "location" attribute?
Any help is greatly appreciated.

This information is not available in Watir. You could use a http proxy
to get this information.

Bret
 
A

alex_f_il

You can try SWExplorerAutomation SWEA (http://webunittesting.com).

Example:

require 'rubyclr'
RubyClr::reference 'System'
RubyClr::reference 'SWExplorerAutomationClient'
include SWExplorerAutomation::Client
include SWExplorerAutomation::Client::Controls
include SWExplorerAutomation::Client::DialogControls
explorerManager = ExplorerManager.new
explorerManager.Connect(-1)
explorerManager.LoadProject('google.htp')
explorerManager.Navigate('http://www.google.com/')
scene = explorerManager['Scene_0']
scene.WaitForActive(30000)
scene["q"].Value = 'c#'
scene['btnG'].Click()
scene = explorerManager['Scene_1']
scene.WaitForActive(30000)
puts scene.RuntimeSceneInfo.Url
explorerManager.DisconnectAndClose()

Result:
D:\Temp>test.rb
http://www.google.com/search?hl=en&q=c#&btnG=Google+Search

RubyCLR. Complete Installation Guide:
http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html
 
A

alex_f_il

You can try SWExplorerAutomation SWEA (http://webunittesting.com).

Example:

require 'rubyclr'
RubyClr::reference 'System'
RubyClr::reference 'SWExplorerAutomationClient'
include SWExplorerAutomation::Client
include SWExplorerAutomation::Client::Controls
include SWExplorerAutomation::Client::DialogControls
explorerManager = ExplorerManager.new
explorerManager.Connect(-1)
explorerManager.LoadProject('google.htp')
explorerManager.Navigate('http://www.google.com/')
scene = explorerManager['Scene_0']
scene.WaitForActive(30000)
scene["q"].Value = 'c#'
scene['btnG'].Click()
scene = explorerManager['Scene_1']
scene.WaitForActive(30000)
puts scene.RuntimeSceneInfo.Url
explorerManager.DisconnectAndClose()

Result:
D:\Temp>test.rb
http://www.google.com/search?hl=en&q=c#&btnG=Google+Search

RubyCLR. Complete Installation Guide:
http://gaech.blogspot.com/2006/10/rubyclr-complete-installation-guide.html
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,071
Latest member
MetabolicSolutionsKeto

Latest Threads

Top