Hi pallavi, Pls add and try again
May be try this all possibilities require 'rubygems' require 'watir' require 'pp' require 'win32ole' require "win32ole_pp" require 'watir/WindowHelper' Awaiting your reply... Thanks On Tue, Sep 29, 2009 at 3:17 PM, Pallavi Sharma <[email protected]>wrote: > Hi All > > I am trying to work on the script: > > require 'watir' > > module Watir > class Element > def top_edge > assert_exists > assert_enabled > ole_object.getBoundingClientRect.top.to_i > end > > def top_edge_absolute > top_edge + container.document.parentWindow.screenTop.to_i > end > > def left_edge > assert_exists > assert_enabled > ole_object.getBoundingClientRect.left.to_i > end > > def left_edge_absolute > left_edge + container.document.parentWindow.screenLeft.to_i > end > > def right_click > x = left_edge_absolute > y = top_edge_absolute > #puts "x: #{x}, y: #{y}" > WindowsInput.move_mouse(x, y) > WindowsInput.right_click > end > end > end > > module WindowsInput > # Windows API functions > SetCursorPos = Win32API.new('user32','SetCursorPos', 'II', 'I') > SendInput = Win32API.new('user32','SendInput', 'IPI', 'I') > > # Windows API constants > INPUT_MOUSE = 0 > MOUSEEVENTF_LEFTDOWN = 0x0002 > MOUSEEVENTF_LEFTUP = 0x0004 > MOUSEEVENTF_RIGHTDOWN = 0x0008 > MOUSEEVENTF_RIGHTUP = 0x0010 > > module_function > > def send_input(inputs) > n = inputs.size > ptr = inputs.collect {|i| i.to_s}.join # flatten arrays into single > string > SendInput.call(n, ptr, inputs[0].size) > end > > def create_mouse_input(mouse_flag) > mi = Array.new(7, 0) > mi[0] = INPUT_MOUSE > mi[4] = mouse_flag > mi.pack('LLLLLLL') # Pack array into a binary sequence usable to > SendInput > end > > def move_mouse(x, y) > SetCursorPos.call(x, y) > end > > def right_click > rightdown = create_mouse_input(MOUSEEVENTF_RIGHTDOWN) > rightup = create_mouse_input(MOUSEEVENTF_RIGHTUP) > send_input( [rightdown, rightup] ) > end > end > > # Open google index page, and send a right click to the logo image > ie = Watir::IE.new > ie.goto('www.google.com') > image = ie.image(:index, 1) > image.right_click > # Then, bring up the properties menu (works with IE6, at least) > ie.send_keys("{UP}{ENTER}") > > > But it keeps giving me the error: > > >ruby TrryMe.rb > TrryMe.rb:37: uninitialized constant WindowsInput::Win32API (NameError) > >Exit code: 1 > > > > What is that i am doing wrong?? > > I am using watir 1.6.2 > > > Please help. > > Thanks > > Pallavi. > > > > -- Regards, P.Raveendran --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Watir General" group. To post to this group, send email to [email protected] Before posting, please read the following guidelines: http://wiki.openqa.org/display/WTR/Support To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/watir-general -~----------~----~----~----~------~----~------~--~---
