我无法用 rspec/capybara 扩展手风琴部分
I cannot expand an accordeon section with rspec/capybara
我已经苦苦挣扎了一段时间,但我自己找不到解决方案或使用 google 的好技巧。
这是我的手风琴代码
<div class="panel-group" id="accordion" >
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a href="collapse1" data-toggle="collapse" data-parent="#accordion" aria-expanded="true" aria-controls="collapse1" id="OT">
Oude Testament
</a>
</h4>
</div>
and so on for the underlying text and the second panel
我曾尝试使用 rspec/capybara 中的以下代码打开它:
x = page.find_by_id('OT')
click_on(x)
或与
x = page.find_link('Oude Testament')
click_on(x)
或与
x = find_link("a[href$='collapse1']")
当我调试时,我看到 x 被分配了,所以看起来不错。
但是我从来没有看到手风琴打开(虽然它在浏览器中工作正常)。
有什么建议吗?
click_on
是 click_link_or_button
的别名,来自文档 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#click_link_or_button-instance_method - 采用 link 或按钮的 ID、文本或值,它不带元素。因此,假设您使用的是支持 JS 的驱动程序(不是 rack-test),您应该能够使用以下任何一种
page.click_on('OT')
page.click_on('Oude Testament')
page.click_link('OT')
page.click_link('Oude Testament')
page.find_link('OT').click
page.find_link('Oude Testament').click
您的第三次尝试 (find_link("a[href$='collapse1']")) 正在将 CSS 选择器传递给 find_link,但没有成功。从文档 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Finders#find_link-instance_method - 它需要 link 的 ID 或文本。它还支持 :href 选项,因此要匹配您尝试执行的操作,它将是
page.find_link(href: /collapse1$/).click
以后请 post 您尝试时遇到的实际错误,因为这将使人们更容易为您提供答案。
我已经苦苦挣扎了一段时间,但我自己找不到解决方案或使用 google 的好技巧。
这是我的手风琴代码
<div class="panel-group" id="accordion" >
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a href="collapse1" data-toggle="collapse" data-parent="#accordion" aria-expanded="true" aria-controls="collapse1" id="OT">
Oude Testament
</a>
</h4>
</div>
and so on for the underlying text and the second panel
我曾尝试使用 rspec/capybara 中的以下代码打开它:
x = page.find_by_id('OT')
click_on(x)
或与
x = page.find_link('Oude Testament')
click_on(x)
或与
x = find_link("a[href$='collapse1']")
当我调试时,我看到 x 被分配了,所以看起来不错。 但是我从来没有看到手风琴打开(虽然它在浏览器中工作正常)。
有什么建议吗?
click_on
是 click_link_or_button
的别名,来自文档 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#click_link_or_button-instance_method - 采用 link 或按钮的 ID、文本或值,它不带元素。因此,假设您使用的是支持 JS 的驱动程序(不是 rack-test),您应该能够使用以下任何一种
page.click_on('OT')
page.click_on('Oude Testament')
page.click_link('OT')
page.click_link('Oude Testament')
page.find_link('OT').click
page.find_link('Oude Testament').click
您的第三次尝试 (find_link("a[href$='collapse1']")) 正在将 CSS 选择器传递给 find_link,但没有成功。从文档 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Finders#find_link-instance_method - 它需要 link 的 ID 或文本。它还支持 :href 选项,因此要匹配您尝试执行的操作,它将是
page.find_link(href: /collapse1$/).click
以后请 post 您尝试时遇到的实际错误,因为这将使人们更容易为您提供答案。