我正在尝试测试具有拖放功能的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
任何帮助都会很棒。
由于
答案 0 :(得分: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)