Java JUnit断言查找css元素的颜色,并断言它是否为预期的颜色
在需要查找元素的selenium测试中,如何执行assert语句(我们有该元素的多个实例) 然后找到元素的颜色并断言它是否是预期的 我在尝试类似的东西Java JUnit断言查找css元素的颜色,并断言它是否为预期的颜色,java,selenium-webdriver,css-selectors,Java,Selenium Webdriver,Css Selectors,在需要查找元素的selenium测试中,如何执行assert语句(我们有该元素的多个实例) 然后找到元素的颜色并断言它是否是预期的 我在尝试类似的东西 assertThat(webDriver.findElement(By.cssSelector("class").contains(".accepted")) && By.cssSelector("color").equals("green")); 正如我需要为元素的类名和颜色断言的那样,如果我理解您想要做什么,这是一个两步过程
assertThat(webDriver.findElement(By.cssSelector("class").contains(".accepted")) && By.cssSelector("color").equals("green"));
正如我需要为元素的类名和颜色断言的那样,如果我理解您想要做什么,这是一个两步过程。首先获取您想要评估的所有元素,然后测试它们以获得您想要的CSS值 例如,如果你想获得雅虎上的所有链接如果您在主页上查看哪些不是他们的标准蓝色(rgba(50、79、225、1)),您可以使用以下内容:(System.out,以便在页面上运行此命令时更好地查看发生的情况):
String YAHOO_BLUE_LINK_COLOR=“rgba(50,79,225,1)”;
//获取页面上的所有链接
列表链接=driver.findElements(按.tagName(“a”));
对于(WebElement currentLink:links){
试一试{
//获取每个的CSS值“color”,并查看它是否包含颜色
assertTrue(currentLink.getCssValue(“color”).contains(YAHOO_BLUE_LINK_color));
System.out.println(“Link:+currentLink.getText()+”是蓝色的。”);
}捕获(断言错误){
System.out.println(“链接:“+currentLink.getText()+”不是蓝色”);
}
}
String YAHOO_BLUE_LINK_COLOR = "rgba(50, 79, 225, 1)";
//get all the links on the page
List<WebElement> links = driver.findElements(By.tagName("a"));
for (WebElement currentLink: links){
try{
//get the cssValue "color" for each and see if it contains the color
assertTrue(currentLink.getCssValue("color").contains(YAHOO_BLUE_LINK_COLOR));
System.out.println("Link:" + currentLink.getText() + " IS blue.");
}catch(AssertionError e){
System.out.println("Link:" + currentLink.getText() + " is NOT blue");
}
}