在水豚规格下拖动时可排序的js错误

时间:2017-04-27 12:57:18

标签: selenium jquery-ui rspec capybara jquery-ui-sortable

使用可执行脚本在rspec中手动拖动元素时:

page.execute_script("$('.slide.slid').sortable('option','update')(null, { item:$('#slide_deck_container').appendTo($('.slide.slid')) })")

收到错误:

  

Selenium :: WebDriver :: Error :: UnknownError异常:未知错误:在初始化之前无法调用sortable上的方法;试图调用方法'选项'     (会议信息:chrome = 56.0.2924.87)     (驱动程序信息:chromedriver = 2.27.440175(9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform = Linux 3.13.0-32-generic x86_64)

1 个答案:

答案 0 :(得分:1)

您获得的错误非常明显:您正试图调用可排序的选项'对尚未初始化为可排序的元素的方法。你是在错误的元素上调用它(是$(' slid.slid')实际的"可排序"父元素?)或者您之前调用它页面已初始化。如果第一个然后你需要在正确的元素上调用它,如果第二个然后你需要设置对页面上出现的东西的期望,以显示它被初始化,所以Capybara将等待它,或睡眠几秒钟允许页面时间初始化。