我正在使用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%);
答案 0 :(得分:1)
您可能已经知道,Geb正在使用Selenium WebDriver在浏览器中选择元素,据我所知,不可能使用Selenium选择::before
和::after
伪元素,因为它们在DOM中确实不存在。
作为旁注,我建议您重新考虑一下您的考试。我可能没有完整的图片,也无法了解您到底要测试什么,以及是否有更好的方法可以做到,但是总的来说,在浏览器测试中声明样式几乎从来都不是正确的事情。