Maybe try drag_and_drop_by ?

  #
    # Drag and drop this element by the given offsets.
    # Note that browser support may vary.
    #
    # @example
    #    browser.div(:id => "draggable").drag_and_drop_by 100, -200
    #
    # @param [Fixnum] right_by
    # @param [Fixnum] down_by
    #

    def drag_and_drop_by(right_by, down_by)
      assert_exists
      assert_has_input_devices_for :drag_and_drop_by

      driver.action.
             drag_and_drop_by(@element, right_by, down_by).
             perform
    end


On Tue, Apr 23, 2013 at 10:37 AM, watir webdriver <
[email protected]> wrote:

> This time its throwing below exception :
>
>      undefined method `action' for #<Watir::Browser:0x3ff51a8>
> (NoMethodError)
>
>      ./features/step_definitions/smartmanager_email_steps.rb:63:in `/^I
> drag "(
> +)" rule to the position (\d+) slot$/'
>      features\smart_manager_email_setup_05.feature:23:in `When I drag
> "Abandone
>  Basket" rule to the position 1 slot'
>
> Implemented as below :
>
> When /^I drag "(.+)" rule to the position (\d+) slot$/ do |algorithm,
> position|
>   index = position.to_i - 1
>   rule = @browser.span(:text => algorithm)
>   slot = @browser.div(:id => index.to_s)
>   @browser.action.drag_and_drop(rule, slot).perform
>  end
>
> My Hooks.rb :
>
> Before do
>     @browser = Watir::Browser.new :firefox
>  end
>
> Thanks in advance
>
>
> On Tue, Apr 23, 2013 at 12:33 PM, Rich Downie <[email protected]>wrote:
>
>> *driver* = whatever variable you use to declare Watir::Browser.new.
>>
>> For cucumber this variable should be declared in:
>> *features/support/env.rb*
>>
>> require 'watir-webdriver'
>> Before do
>>   *driver* = Watir::Browser.new
>> end
>>
>> You may have:
>>   *browser* = Watir::Browser.new
>>
>> resulting in:
>>   *browser*.action.drag_and_drop(rule, slot).perform
>>
>>
>> On Tue, Apr 23, 2013 at 7:22 AM, watir webdriver <
>> [email protected]> wrote:
>>
>>> Thanks Rich for your email but its throwing below exception...Can you
>>> plz tell me where i've to define this driver element?
>>>
>>>       undefined local variable or method `driver' for
>>> #<Object:0x3f9dec0> (NameE
>>> rror)
>>>       ./features/step_definitions/smartmanager_email_steps.rb:64:in `/^I
>>> drag "(
>>>
>>> .+)" rule to the position (\d+) slot$/'
>>>       features\smart_manager_email_setup_05.feature:23:in `When I drag
>>> "Abandone
>>> d Basket" rule to the position 1 slot'
>>>
>>> Implemented as below :
>>>
>>> When /^I drag "(.+)" rule to the position (\d+) slot$/ do |algorithm,
>>> position|
>>>   index = position.to_i - 1
>>>    rule = driver.span(:text => algorithm)
>>>  slot = driver.div(:id => index.to_s)
>>>  driver.action.drag_and_drop(rule, slot).perform
>>> end
>>>
>>>
>>> Thanks in advance...
>>>
>>>
>>> On Tue, Apr 23, 2013 at 12:06 PM, Rich Downie <[email protected]>wrote:
>>>
>>>> driver.action.drag_and_drop(rule, slot).perform
>>>>
>>>>
>>>> http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/ActionBuilder.html#drag_and_drop-instance_method
>>>>
>>>>
>>>> On Tue, Apr 23, 2013 at 4:07 AM, watir webdriver <
>>>> [email protected]> wrote:
>>>>
>>>>> Any one can help on this?
>>>>>
>>>>>
>>>>> On Wednesday, April 17, 2013, watir webdriver wrote:
>>>>>
>>>>>> First of all thanks for the response...Plz find cucumber test,Step
>>>>>> def,application screenshot,html code and error msg as below.
>>>>>>
>>>>>> *Cucumber test :* In my application I've many algorithms out of them
>>>>>> I've to drag one and drop it to position1 slot.
>>>>>>
>>>>>> When I drag "Abandoned Basket" rule to the position 1 slot
>>>>>>
>>>>>> *Step def :*
>>>>>> When /^I drag "(.+)" rule to the position (\d+) slot$/ do |algorithm,
>>>>>> position|
>>>>>>   index = position.to_i - 1
>>>>>>   rule = @browser.span(:text => algorithm)
>>>>>>   slot = @browser.div(:id => index.to_s)
>>>>>>   rule.drag_and_drop_on(slot)
>>>>>> end
>>>>>>
>>>>>>
>>>>>> *Error msg :*
>>>>>>
>>>>>>     When I drag "Abandoned Basket" rule to the position 1 slot
>>>>>>       Cannot perform native interaction: Could not load native events
>>>>>> component.
>>>>>>  (Selenium::WebDriver::Error::InvalidElementStateError)
>>>>>>       [remote server]
>>>>>> file:///C:/Users/fsultana/AppData/Local/Temp/webdriver-pro
>>>>>> file20130417-12004-1hejfln/extensions/
>>>>>> [email protected]/components/driver_
>>>>>> component.js:8699:in `generateErrorForNativeEvents'
>>>>>>       [remote server]
>>>>>> file:///C:/Users/fsultana/AppData/Local/Temp/webdriver-pro
>>>>>> file20130417-12004-1hejfln/extensions/
>>>>>> [email protected]/components/driver_
>>>>>> component.js:8732:in `FirefoxDriver.prototype.mouseMove'
>>>>>>       [remote server]
>>>>>> file:///C:/Users/fsultana/AppData/Local/Temp/webdriver-pro
>>>>>> file20130417-12004-1hejfln/extensions/
>>>>>> [email protected]/components/command
>>>>>> _processor.js:10421:in `DelayedCommand.prototype.executeInternal_/h'
>>>>>>       [remote server]
>>>>>> file:///C:/Users/fsultana/AppData/Local/Temp/webdriver-pro
>>>>>> file20130417-12004-1hejfln/extensions/
>>>>>> [email protected]/components/command
>>>>>> _processor.js:10426:in `DelayedCommand.prototype.executeInternal_'
>>>>>>       [remote server]
>>>>>> file:///C:/Users/fsultana/AppData/Local/Temp/webdriver-pro
>>>>>> file20130417-12004-1hejfln/extensions/
>>>>>> [email protected]/components/command
>>>>>> _processor.js:10366:in `DelayedCommand.prototype.execute/<'
>>>>>>       ./features/step_definitions/smartmanager_email_steps.rb:63:in
>>>>>> `/^I drag "(
>>>>>> .+)" rule to the position (\d+) slot$/'
>>>>>>       features\smart_manager_email_setup_05.feature:23:in `When I
>>>>>> drag "Abandone
>>>>>> d Basket" rule to the position 1 slot'
>>>>>>
>>>>>>
>>>>>> *HTML code:*
>>>>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
>>>>>> http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
>>>>>> <html xmlns="http://www.w3.org/1999/xhtml";>
>>>>>> <head>
>>>>>> <body>
>>>>>> <div id="logo">
>>>>>> <div class="spacersmall"></div>
>>>>>> <form id="switchSiteShopAdminForm" method="post">
>>>>>> <div class="spacersmall"></div>
>>>>>> <div id="header">
>>>>>> <div id="wrapper">
>>>>>> <div id="menu">
>>>>>> <div id="content">
>>>>>> <ul id="tabs">
>>>>>> <div class="clear"></div>
>>>>>> <script type="text/javascript">
>>>>>> <em id="help" bt-xtitle="" title="">
>>>>>> <form id="editWidget" method="POST">
>>>>>> <fieldset class="fieldset">
>>>>>> <legend>Widget Settings</legend>
>>>>>> <input type="hidden" value="true" name="active">
>>>>>> <input id="id" type="hidden" value="-1" name="id">
>>>>>> <div class="spacer"></div>
>>>>>> <label for="name">Name</label>
>>>>>> <input type="text" size="60" maxlength="100" value="" name="name">
>>>>>> <div class="clear"></div>
>>>>>> <div class="spacer"></div>
>>>>>> <p> Two images compose each recommendation. The 1st one is the image
>>>>>> of the product. The 2nd one is the image of all text that accompany the
>>>>>> recommended product, i.e. the product title, the product price, a 
>>>>>> discount
>>>>>> and so on. In the following section, please define the accompanying text
>>>>>> styles. Please click "Advanced" to edit the html/css code. In advanced 
>>>>>> mode
>>>>>> you will be able to use normal html/css to style these pieces of content.
>>>>>> The preview pane always reflect your changes, so please feel free to play
>>>>>> around with the available options, no harm will be done! </p>
>>>>>> <fieldset id="productStyles" class="fieldset">
>>>>>> <label for="howMany">Number Of Items</label>
>>>>>> <input id="howMany" type="text" value="1" name="howMany" size="2">
>>>>>> <div class="clear"></div>
>>>>>> <div class="spacer"></div>
>>>>>> <label for="locale">Locale</label>
>>>>>> <select name="location">
>>>>>> <div class="spacer"></div>
>>>>>> <input id="tags" type="hidden" value="" name="tags">
>>>>>> <div class="spacer"></div>
>>>>>> <p>Please insert here any tracking code you want to be added in the
>>>>>> product link url</p>
>>>>>> <label for="trackingCode">Tracking Code</label>
>>>>>> <input id="trackingCode" value="" name="trackingCode">
>>>>>> <div class="spacer"></div>
>>>>>> <label for="algorithms">Recommendations</label>
>>>>>> <div class="spacer"></div>
>>>>>> <p>
>>>>>> <div class="spacer"></div>
>>>>>> <table class="tree2">
>>>>>> <div class="spacer"></div>
>>>>>> <div class="t1container">
>>>>>> <table class="tree1">
>>>>>> <tbody>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Abandoned Basket"
>>>>>> aid="ABANDONED_BASKET">Abandoned Basket</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Cross-sell, previous
>>>>>> purchases and views" aid="OTHER_CUSTOMER_BASKET_ADDITIONS">Cross-sell,
>>>>>> previous purchases and views</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Other customers popular
>>>>>> social" aid="OTHER_CUSTOMERS_POPULAR_SOCIAL">Other customers popular
>>>>>> social</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Back in stock
>>>>>> complementary products" aid="BACK_IN_STOCK_COMPLEMENTARY_PRODUCTS">Back 
>>>>>> in
>>>>>> stock complementary products</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Customer viewed history"
>>>>>> aid="CUSTOMER_VIEWED_HISTORY">Customer viewed history</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Popular items from
>>>>>> Favourite categories" aid="CUSTOMER_PURCHASE_HISTORY">Popular items from
>>>>>> Favourite categories</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Back in stock popular
>>>>>> social" aid="BACK_IN_STOCK_POPULAR_SOCIAL">Back in stock popular
>>>>>> social</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Emerging products (last 30
>>>>>> days)" aid="EMERGING_PRODUCTS">Emerging products (last 30 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Product Catalog"
>>>>>> aid="CATALOG">Product Catalog</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Seller By Revenue in
>>>>>> Smart Category" aid="BESTSELLER_BY_REVENUE_SMART_CATEGORY">Best Seller By
>>>>>> Revenue in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Emerging products (last 30
>>>>>> days) in Smart Category" aid="EMERGING_PRODUCTS_SMART_CATEGORY">Emerging
>>>>>> products (last 30 days) in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Recently Viewed"
>>>>>> aid="RECENTLY_VIEWED">Recently Viewed</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Seller by Revenue per
>>>>>> Product View (last 90 days)" aid="BESTSELLER_BY_REVENUE_PER_VIEW">Best
>>>>>> Seller by Revenue per Product View (last 90 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="New Products(last 14
>>>>>> days)" aid="NEW_PRODUCTS_14Days">New Products(last 14 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Recommendations based on
>>>>>> Abandoned Basket"
>>>>>> aid="RECOMMENDATIONS_FOR_ABANDONED_BASKET_PRODUCTS">Recommendations based
>>>>>> on Abandoned Basket</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Seller by Revenue per
>>>>>> Product View in Smart Category"
>>>>>> aid="BESTSELLER_BY_REVENUE_PER_VIEW_SMART_CATEGORY">Best Seller by 
>>>>>> Revenue
>>>>>> per Product View in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="New Products(last 30
>>>>>> days)" aid="NEW_PRODUCTS_30Days">New Products(last 30 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Registration teaser based
>>>>>> on basket additions"
>>>>>> aid="REGISTRATION_TEASER_BASED_ON_BASKET_ADDITIONS">Registration teaser
>>>>>> based on basket additions</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Sellers by Conversion
>>>>>> (last 90 days)" aid="BESTSELLER_BY_CONVERSION">Best Sellers by Conversion
>>>>>> (last 90 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="New Products(last 7 days)"
>>>>>> aid="NEW_PRODUCTS_7Days">New Products(last 7 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Registration teaser based
>>>>>> on popular view" aid="REGISTRATION_TEASER_POPULAR_VIEW">Registration 
>>>>>> teaser
>>>>>> based on popular view</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Sellers by Conversion
>>>>>> in Smart Category" aid="BESTSELLER_BY_CONVERSION_SMART_CATEGORY">Best
>>>>>> Sellers by Conversion in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="New products from
>>>>>> favourite categories(last 120 days)"
>>>>>> aid="NEW_PRODUCTS_FROM_FAV_CATEGORIES">New products from favourite
>>>>>> categories(last 120 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Wishlist co-purchased"
>>>>>> aid="WISH_LIST_CO_PURCHASED">Wishlist co-purchased</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Sellers by Revenue (
>>>>>> last 28 days)" aid="BESTSELLER_BY_REVENUE">Best Sellers by Revenue ( last
>>>>>> 28 days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="New products(last 120
>>>>>> days) in Smart Category" aid="NEW_PRODUCTS_SMART_CATEGORY">New
>>>>>> products(last 120 days) in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Wishlist highly viewed"
>>>>>> aid="WISH_LIST_HIGHLY_VIEWED">Wishlist highly viewed</span>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Sellers by Units
>>>>>> (last 7 days)" aid="BESTSELLER_BY_UNITS">Best Sellers by Units (last 7
>>>>>> days)</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Order Uplifter Bought
>>>>>> Together" aid="ORDER_UPLIFTER_BOUGHT_TOGETHER">Order Uplifter Bought
>>>>>> Together</span>
>>>>>> </td>
>>>>>> <td></td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Best Sellers by Units in
>>>>>> Smart Category" aid="BESTSELLER_BY_UNITS_SMART_CATEGORY">Best Sellers by
>>>>>> Units in Smart Category</span>
>>>>>> </td>
>>>>>> <td>
>>>>>> <span class="draggable ui-draggable" full="Order Uplifter Popular
>>>>>> Social" aid="ORDER_UPLIFTER_POPULAR_SOCIAL">Order Uplifter Popular
>>>>>> Social</span>
>>>>>> </td>
>>>>>> <td></td>
>>>>>> </tr>
>>>>>> </tbody>
>>>>>> </table>
>>>>>> </div>
>>>>>>
>>>>>>> Your help is much more appreciated.
>>>>>>>
>>>>>>  --
>>>>>> --
>>>>>> Before posting, please read http://watir.com/support. In short:
>>>>>> search before you ask, be nice.
>>>>>>
>>>>>> [email protected]
>>>>>> http://groups.google.com/group/watir-general
>>>>>> [email protected]
>>>>>>
>>>>>> ---
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "Watir General" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/watir-general/sIHP_jJDDeg/unsubscribe?hl=en
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>>
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>>
>>>>>>
>>>>>  --
>>>>> --
>>>>> Before posting, please read http://watir.com/support. In short:
>>>>> search before you ask, be nice.
>>>>>
>>>>> [email protected]
>>>>> http://groups.google.com/group/watir-general
>>>>> [email protected]
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Watir General" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>>
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> http://www.richdownie.com
>>>> http://github.com/richdownie
>>>>
>>>> --
>>>> --
>>>> Before posting, please read http://watir.com/support. In short: search
>>>> before you ask, be nice.
>>>>
>>>> [email protected]
>>>> http://groups.google.com/group/watir-general
>>>> [email protected]
>>>>
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "Watir General" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/watir-general/sIHP_jJDDeg/unsubscribe?hl=en
>>>> .
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>>
>>>>
>>>
>>>  --
>>> --
>>> Before posting, please read http://watir.com/support. In short: search
>>> before you ask, be nice.
>>>
>>> [email protected]
>>> http://groups.google.com/group/watir-general
>>> [email protected]
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Watir General" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>
>>
>> --
>> http://www.richdownie.com
>> http://github.com/richdownie
>>
>> --
>> --
>> Before posting, please read http://watir.com/support. In short: search
>> before you ask, be nice.
>>
>> [email protected]
>> http://groups.google.com/group/watir-general
>> [email protected]
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Watir General" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/watir-general/sIHP_jJDDeg/unsubscribe?hl=en
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
> --
> Before posting, please read http://watir.com/support. In short: search
> before you ask, be nice.
>
> [email protected]
> http://groups.google.com/group/watir-general
> [email protected]
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Watir General" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
http://www.richdownie.com
http://github.com/richdownie

-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to