1

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

@element = find('tbody')

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

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

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

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

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

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

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

4

1 回答 1

0

自从我发布这个问题以来已经有很长时间了,但我认为在这种情况下我正在寻找的答案是:

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

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

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

无论如何,我很久以前就解决了这个问题。

于 2014-12-24T21:04:50.230 回答