我正在使用selenium web驱动程序测试表单。当我输入无效的用户名时,用户名标签字段的颜色变为红色。我想用硒获得该标签字段的颜色,以找出天气,标签的颜色变为红色或不是
答案 0 :(得分:2)
请按以下方式进行:
1.对于任何标签,首先通过开发人员模式控制台对其进行检查,将显示开发人员窗口分为两部分
2.左侧的一个窗口显示标签的HTML源代码,屏幕右下方的其他窗口显示与该HTML源代码关联的CSS
3.在Style标签下,我们可以查看与当前所选标签相关联的CSS
现在是Webdriver代码
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http:url/Login.html");
// identifying color before entering any value inside the input box
String visibilityBefore =driver.findElement(By.id("login-password")).getCssValue("border-bottom-color");
// print that value
System.out.println(visibilityBefore); // prints rgba(223, 223, 223, 1)
Thread.sleep(1000);
// click the login button without entering any value inside the
// user name and password to make red border come into action
driver.findElement(By.xpath("//*[@type='submit']")).click();
Thread.sleep(1000);
// identifying color after clicking the login button
String visibilityAfter =driver.findElement(By.id("login-password")).getCssValue("border-bottom-color");
System.out.println(visibilityAfter); // prints rgba(255, 0, 0, 1)
}
请查看示例快照以获得清晰的可见性:
如需更多帮助,请同时查看How to Using Webdriver Selenium to get the value of "style" element
答案 1 :(得分:1)
元素的颜色很可能由CSS类控制,该类将样式应用于该元素。这意味着您可以只验证元素是否应用了特定样式,或者您可以获取背景颜色的CSS值(可能这是“红色”)。 This thread可能对您有所帮助。