首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RSpec + Capybara:如何测试Bootstrap进度条

RSpec + Capybara:如何测试Bootstrap进度条
EN

Stack Overflow用户
提问于 2014-10-17 15:14:58
回答 2查看 647关注 0票数 2

我正在使用RSpec测试一个具有引导进度条的页面。如何测试分区中不同的Aria属性?

代码语言:javascript
复制
<div class="progress-bar progress-bar-success" 
    role="progressbar"  
    aria-valuenow="40"  
    aria-valuemin="0"  
    aria-valuemax="100"  
    style="width: 40%"> 
</div>

我很感激你能提供的任何帮助。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-17 20:33:18

可以使用[]方法获取元素的属性值。例如:

代码语言:javascript
复制
find('div.progress-bar')['aria-valuenow']
#=> "40"
find('div.progress-bar')['aria-valuemax']
#=> "100"

您可以通过执行以下操作来测试这些值:

代码语言:javascript
复制
expect(find('div.progress-bar')['aria-valuenow']).to eq('40')
expect(find('div.progress-bar')['aria-valuemax']).to eq('100')

然而,这将不会使用Capybara的内置等待方法。如果使用等待方法很重要,则应该这样做:

代码语言:javascript
复制
expect(page).to have_css('div.progress-bar[aria-valuenow="40"]')
expect(page).to have_css('div.progress-bar[aria-valuemax="100"]')
票数 3
EN

Stack Overflow用户

发布于 2015-03-18 15:49:19

你也可以像这样做一些很酷的事情:

代码语言:javascript
复制
it 'reports the status of dropdowns (expanded/collapsed) to non-visual agents', js: true do
  within '#sign_in_panel' do
    expect {
      click_link 'Sign in'
    }.to change { find('a.dropdown-toggle')['aria-expanded'] }.from('false').to 'true'
  end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26428141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档