Hi all, I got the answer how to click on ''ok'' button. But still i have two problems --- that code is not working when im trying to run that code through the exe file of that ruby file which is using that code. and second one is i want to capure the text of that popup.. i tried this with no success #----- js_dialog.rb ----- require ''win32ole'' require ''test/unit'' require ''test/unit/ui/console/testrunner'' # # Use AutoIt to read and close Javascript dialog windows # module JavascriptDialog # # Target javascript dialogs with this window title # WINDOW_TITLE = "Microsoft Internet Explorer" class << self # # Return the text contained in a javascript dialog (e.g. an "alert()") # if such a dialog is present or appears within +wait_seconds+. # def text(wait_seconds = 1) # sleep 0.3 autoit.WinWait(WINDOW_TITLE, nil, wait_seconds) if wait_seconds s = autoit.WinGetText(WINDOW_TITLE) s unless s == "1" end # # Close any active javascript dialog # def close autoit.WinClose WINDOW_TITLE end # # Press the "OK" button on a javascript dialog # def ok autoit.ControlClick(WINDOW_TITLE, "", "OK") end # # Press the "Cancel" button on a javascript dialog # def cancel autoit.ControlClick(WINDOW_TITLE, "", "Cancel") end # # Press the "Yes" button on a javascript dialog # def yes autoit.ControlClick(WINDOW_TITLE, "", "Yes") end # # Press the "No" button on a javascript dialog # def no autoit.ControlClick(WINDOW_TITLE, "", "No") end private # # Return an AutoIt COM object, creating it if it doesn''t already # exist # def autoit unless defined? @@autoit @@autoit = WIN32OLE.new("AutoItX3.Control") end @@autoit end end end module Test::Unit::Assertions # # Passes if a Javascript dialog appears within +wait_seconds+ and its # text matches the given (optional) pattern. # # Use like this: # assert_js_dialog do # watir_command_to_make_dialog_appear # end # Or like this: # assert_js_dialog /Text to find in the dialog/, "Cancel" do # watir_command_to_make_dialog_appear # end # def assert_js_dialog(pattern = //, action = "close", message = nil) _wrap_assertion do begin pipe = IO.popen("ruby exetry.rb #{action}") yield window_text = pipe.read rescue "" pipe.close unless window_text.empty? assert_block(build_message(message, "<?> not found in JavaScript dialog.", pattern)) do window_text.match(pattern) end else raise Test::Unit:: AssertionFailedError.new( build_message(message, "No JavaScript window found.")) end ensure pipe.close if pipe && !pipe.closed? end end end end # test - will close and print the text of an opened javascript dialog if # run as "ruby js_dialog.rb" if $0 == __FILE__ action = ARGV.shift || "close" print JavascriptDialog.text || "" JavascriptDialog.send action end --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---