我正在开发一个使用Geb的项目。 - 我需要创建一个挂钩到before元素的选择器。
backgroundImageStyles(required: false) { $('.element:before')}
然后评估造型
landingPage.heros[0].backgroundImageStyles.css("background") == '#000000'
这不起作用 - 我还需要测试背景不透明度 - 就像这个渐变中的0.2一样
background: linear-gradient(to top right, #000000 0%, rgba(3, 124, 104, 0.2) 100%);
您可能已经知道,Geb正在使用Selenium WebDriver在浏览器中选择元素,据我所知,不可能使用Selenium选择::before
和::after
伪元素,因为它们实际上并不存在于DOM中。
作为旁注,我建议重新考虑你的考试。我可能没有完整的图片,并了解你究竟要测试的是什么,如果有更好的方法可以做到这一点,但总的来说,在浏览器测试中对样式断言几乎不是正确的事情。