【问题标题】:How to test the value of a CSS selector using Capybara and RSpec?如何使用 Capybara 和 RSpec 测试 CSS 选择器的值?
【发布时间】:2012-07-30 20:27:56
【问题描述】:

HTML 页面应该有以下代码:

<div class="user-image" style="background-image:url(/images/user_image.jpg)">

您将如何使用 Capybara 和 RSpec 进行检查?

【问题讨论】:

    标签: ruby-on-rails rspec tdd capybara bdd


    【解决方案1】:

    大概,您正在尝试验证此 div 是否使用指定的背景图像。我可能会这样做:

    it "has a user image" do
      page.should have_selector('div.user-image')
    end
    
    it "displays the user image" do
      page.find('div.user-image')['style'].should == 'background-image:url(/images/user_image.jpg)'
    end
    

    但是,RSpec 可能是适合这项工作的错误工具。考虑使用 Cucumber 进行这样的测试。

    【讨论】:

      【解决方案2】:

      Capybara 和 Selenium 允许在浏览器中运行 javascript 并返回结果

      方法如下:

      page.execute_script 'return $("div.user-image").css("background-image");'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-27
        相关资源
        最近更新 更多