【问题标题】:Asserting attributes on a capybara object在 capybara 对象上声明属性
【发布时间】:2012-08-21 19:12:26
【问题描述】:

我目前正在与 capybara 合作进行集成测试,并作为我们测试框架的一部分。我遇到了一个我似乎无法找到解决方案的问题。所以场景是这样的,我最初为一个 tbody 元素做一个查找。我把物体拿回来了,一切都很好。我面临的问题是,在我的测试中有一点需要断言我正在使用的 tbody 对象的 css 类已经改变。到目前为止,我尝试过的每种方法都失败了。代码如下所示:

@element = find('tbody')

--tbody css selecor changes to '.is-edit-post'

@element.find('.is-edit-post')

我试图断言 capybara 对象具有该 css 选择器。我还尝试了以下方法:

@element.has_css('.is-edit-post')

@element.assert_selector('.is-edit-post')

现在,我不完全了解#find 方法的工作原理以及它返回的具体内容。在这一点上,我推测由于 tbody 对象在 #find 方法找到并返回它时没有那个 css 选择器,这就是它返回 false 或抛出异常说它未找到的原因。

如果该对象的属性发生变化,任何人对我如何获取该对象的属性有任何想法?

【问题讨论】:

    标签: attributes find selector capybara assert


    【解决方案1】:

    我已经很久没有发布这个问题了,但我认为在这种情况下我正在寻找的答案是:

    @element[:class].include? 'is-edit-post'

    或者如果元素没有更新,我需要再次抓取它然后检查类:

    find('tbody')[:class].include? 'is-edit-post'

    无论如何,我早就解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多