4

我正在使用 watir 进行自动化测试,本质上这个项目是一个任务管理器。

任务下降到一周中的一天,但需要短暂暂停才能将任务悬停在该特定日期上,以便其被 javascript 识别。

目前这只是firefox的一个问题,chrome很好。

所以我的问题是,你可以拖放但在拖放之前将元素保持在一个区域上吗?

目前正在使用此功能:

 dragTask.drag_and_drop_on dropTask
4

1 回答 1

3

前段时间与 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>
于 2012-12-19T16:42:16.603 回答