无法检查React与Capybara呈现的复选框

时间:2018-02-22 11:19:25

标签: reactjs selenium capybara

我的Rails应用程序中有一些前端组件。而且我喜欢与Capybara进行一些端到端的测试。现在,当我测试一个组件时,我在获取一些数据时遇到了问题。我需要单击一个选择框,该选择框应该在获取数据时显示。但Capybara无法找到它我使用Selenium驱动程序与Chrome。因此,当我运行测试时,我可以看到React呈现的部分,但Capybara不能。当我在控制台中打印出html时,我正在寻找的部分丢失了。 我试图增加Capybara的default_max_wait_time,但这不起作用。

在我的测试中,我尝试执行以下操作:

test 'some test' do
  visit '/somepage'
  fill_in 'search', with: 'items'
  # fetching items here
  click_on 'Search'

  check 'check_all'
end

在我的React组件中,我有类似的东西:

render() {
  return(
    <div>
      {props.items !== undefined && <input type="checkbox" name="check_all"/>}
    </div>
  )
}

获取项目。我用Redux跟踪应用程序状态。

修改 我发现复选框已呈现我添加了binding.irb以打开控制台。页面正文有我正在寻找的复选框,但是这个复选框的名称属性没有呈现我得到:

<input type="checkbox" />

而不是:

<input type="checkbox" name="check_all" />

当我在浏览器中运行我的应用程序时,我确实有可用的名称属性。

0 个答案:

没有答案