Перетащите объект с паузой перед падением

Я использую watir для автоматического тестирования, по сути, этот проект является диспетчером задач.

задачи выпадают на день недели, но требуется короткая пауза, чтобы задача была наведена на этот конкретный день, чтобы она была распознана javascript.

На данный момент проблема только с файрфоксом, с хромом все в порядке.

Итак, мой вопрос: можете ли вы перетаскивать элемент, но удерживать его над областью перед перетаскиванием?

сейчас использую эту функцию:

 dragTask.drag_and_drop_on dropTask

person samayres1992    schedule 18.12.2012    source источник
comment
Знаете ли вы страницу, иллюстрирующую проблему (т. е. страницу, на которой можно протестировать решения)?   -  person Justin Ko    schedule 18.12.2012
comment
@JustinKo, к сожалению, я не думаю, что могу поделиться точным кодом и т. Д. Я могу только описать. Есть ли другой способ, которым я могу помочь предоставить немного дополнительной информации?   -  person samayres1992    schedule 18.12.2012


Ответы (1)


Некоторое время назад у меня был тот же вопрос с Watir-WebDriver, и сначала он пришел к исправлению обезьян Selenium ActionBuilder. Это было примерно так:

require 'watir-webdriver'

module Selenium
  module WebDriver
    class ActionBuilder

      def hold(timeout)
        @devices.merge!(:self => self) unless @devices[:self]
        @actions << [:self, :sleep, timeout]
        self
      end

    end # ActionBuilder
  end # WebDriver
end # Selenium


begin
  browser = Watir::Browser.new
  browser.goto "data:text/html,#{DATA.read}"
  button_1 = browser.button(id: "button1")
  button_2 = browser.button(id: "button2")
  browser.driver.action.
                 click_and_hold(button_1.wd).
                 move_to(button_2.wd).
                 hold(3).
                 release.
                 perform
ensure
  browser.close
end


__END__

<html>
  <button id="button1">Button 1</button>
  <button id="button2">Button 2</button>
</html>
person p0deje    schedule 19.12.2012
comment
Я попробовал это, но по какой-то причине, в которой я уверен, была пауза перед действием перетаскивания, а не во время? - person samayres1992; 20.12.2012
comment
Вы имеете в виду, что он ждал, прежде чем тащить? - person p0deje; 20.12.2012
comment
Да, похоже, это то, что происходит, к сожалению - person samayres1992; 20.12.2012
comment
Ты прав. У меня сейчас нет ни одного примера для тестирования, ни старого кода, но обновленная версия должна работать. Пожалуйста, попробуйте и дайте мне знать, если это нормально. - person p0deje; 20.12.2012
comment
Спасибо за помощь, но, к сожалению, переменные мышь, клавиатура не имеют значений, я не уверен, как их установить. В настоящее время возникает ошибка, что 0 для 2 входов - person samayres1992; 20.12.2012
comment
Извините, мой плохой, не проверял. Я обновил ответ, и на этот раз он определенно должен работать. - person p0deje; 21.12.2012