我有一些列表元素:
< button id={"productBook"} className="fito-btn fito-btn-long" style={this.props.styles.btnBrandRevers} onClick={this.props.onOfferSelect.bind(null, product)}>
< FormattedMessage id='app.Book' defaultMessage='Book' />
< /button>
将标识为productBook
的元素声明为:
.assert.visible('button[id=productBook]')
我收到了一个错误:
Testing if element <button[id=productBook]> is visible. Element could not be located. - expected "true" but got: "null"
我不明白为什么这对于这个特定元素不起作用,而它适用于其他元素。是否有一些不同的方式需要验证列表元素? 请帮忙。
答案 0 :(得分:0)
尝试使用简写#
作为ID:
assert.visible('button#productBook')
或
assert.visible('#productBook')
答案 1 :(得分:0)
根据您分享的HTML,动态生成<button>
的 id 属性。因此,您可能无法通过 ID 断言。相反,您可以通过以下定位器策略 断言 FormattedMessage 的可见性:
xpath
:
//button[@class='fito-btn fito-btn-long']/FormattedMessage[@id=\"app.Book\"][@defaultMessage='Book']
答案 2 :(得分:0)
尝试以下操作:
.assert.not.elementPresent('tr[...]')