在无头模式下运行时,测试是否应进行可见性检查?当我在普通的chrome或firefox中运行测试时,它们都通过了,但是在无头模式下,我一直收到此错误:
test('Assert navigation from Home to page x...', async t => {
await t
.expect(link.textContent).eql('page x')
.click(link)
.expect(getPageUrl()).contains('pagex')
});
Error: The element that matches the specified selector is not visible.
,当我添加Expect([someSelector] .visibile).ok()时,出现此错误:
AssertionError: expected false to be truthy
我觉得针对以无头模式运行它们的特定目的编写这些测试的方法是不正确的。我不确定以无头模式运行是否会影响测试结构的整体方法?
我正在编写许多可以集成到Jenkins中的e2e测试,以便它们在提交新代码时都可以运行。
答案 0 :(得分:4)
您要t.expect(selector.visible).ok()
可见性仅检查DOM中是否存在该元素,并且没有设置visible: hidden
或display: none
样式规则
无头运行不会影响此操作,因此可能还有其他问题。