Capybara测试editablegrid功能无法正常工作

时间:2016-09-29 23:33:58

标签: capybara editablegrid

使用editablegrid.net。真的很喜欢布局和功能。 唯一的问题是功能测试。 似乎没有任何东西在水豚中工作 - 页面快照不显示实际网格的页面内容,匹配器不会看到以js呈现的内容。

我必须使用较旧的幻像(v1.9.2)作为对水豚的支持似乎在mac os x上没有。

任何人都有运气功能测试吗?

尝试过的事情

  • 页面刷新:page.driver.browser.navigate.refresh
  • 确保使用turbolinks事件加载
  • 尝试过selenium and poltergeist

设置详情

版本

/dir1

更新 更新版本

        rails 4.1.0
        capybara (2.9.1)
        rspec (3.5.0)
        phantomjs 192

        selenium-webdriver (2.53.4)

        poltergeist (1.5.1)
          capybara (~> 2.1)
          cliver (~> 0.3.1)
          multi_json (~> 1.0)
          websocket-driver (>= 0.2.0)

    $ phantomjs -v
    1.9.2

然而,当我做一个简单的测试时

   $ phantomjs -v
    2.1.1
    $ gem list | grep polter
    poltergeist (1.10.0)
    $ selenium-webdriver (2.53.4)

此页面包含可在开发中正常工作的 visit 'address_books/'+user.address_book.id.to_s page.save_screenshot("file1.png", :full => true) sleep 4.seconds # just in case the delayed redraw takes time page.save_screenshot("file2.png", :full => true) expect(page).to have_content(/Person A.*2 8888 9999.*home/) (请参阅屏幕截图(http://imgbox.com/rqwx1vHe))示例不会在保存屏幕截图中呈现(http://imgbox.com/t1CG6hQa

其他说明

  • 我也试过了硒,同样的问题:很明显网格没有显示。
  • 我使用turbo links加载事件以触发页面加载。

网格代码

editablegrid

更新2

var editableGrid = null; $(document).on('turbolinks:load', function() { editableGrid = new EditableGrid("AddressBookGridJSON"); editableGrid.tableLoaded = function() { this.renderGrid("tablecontent", "testgrid"); }; editableGrid.loadJSON('/address_books.json'); // $.getJSON('/address_books.json', function(json) { // editableGrid.load({"metadata": json.metadata, "data": json.data}); // console.log(editableGrid); // }); });

index.json.jbuilder

更新3

已加载数据库清洁程序代码

要求'database_cleaner'         RSpec.configure do | config |           config.before(:each)做             DatabaseCleaner.clean_with(:截断)           端

        json.set! :metadata do
        json.array! @address_book.generate_view_table_meta_data
        end

        json.set! :data do
            json.array! @contacts do |contact|
              json.id contact.id
                  json.set! :values do
                      json.name contact.name
                      json.phone_number contact.get_presentation_number
                      json.phone_type contact.get_humanize_phone_type
                      json.action contact.get_url_to_view_delete
                  end
            end
        end

0 个答案:

没有答案