【问题标题】:Testing drag and drop in ruby在 ruby​​ 中测试拖放
【发布时间】:2012-02-23 15:56:14
【问题描述】:

我正在尝试测试具有拖放功能的 UI。我要做的就是将一个元素拖到页面上的另一个元素上。代码如下。

it 'should drag and drop' do                
    draggable = @driver.find('//*[@id="2"]').first
    droppable = @driver.find('//*[@id="dropmembers4"]').first
    draggable.drag_to(droppable)
    @driver.find('//div[contains(., "Dropped!")]').should_not be_nil    
end

目前我收到一个错误:

Failure/error: draggable = @driver.find('//*[@id="2"]').first
No method error: undefined method 'find' for nil:NilClass

任何帮助都会很棒。

谢谢

【问题讨论】:

  • 你显然没有初始化@driver变量,你能发布一下你是怎么定义它的吗?
  • 正如您所猜测的,我对此很陌生。这就是我试图定义它的方式,@driver = Selenium::WebDriver.for :firefox。但是我得到一个错误未初始化的常量硒。任何建议表示赞赏。谢谢

标签: ruby selenium capybara


【解决方案1】:

@driver 变量不存在,这意味着初始化不工作。这是最小的初始化代码:

$ [sudo] gem install selenium
$ selenium install

以及使用它的代码:

require 'selenium'
@driver = Selenium::WebDriver.for(:chrome)

如果你使用 bundler 来定义依赖,你应该运行:

$ bundle install

然后是这段代码:

require 'rubygems'
require 'bundler/setup'
require 'selenium'
@driver = Selenium::WebDriver.for(:chrome)

【讨论】:

  • 请随时向我们发布有关此问题的信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-17
  • 1970-01-01
  • 2012-07-15
  • 1970-01-01
相关资源
最近更新 更多