如何使用selenium webdriver获取标签字段的颜色?

时间:2016-05-23 09:49:21

标签: java selenium selenium-webdriver

我正在使用selenium web驱动程序测试表单。当我输入无效的用户名时,用户名标签字段的颜色变为红色。我想用硒获得该标签字段的颜色,以找出天气,标签的颜色变为红色或不是

2 个答案:

答案 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)
    }

请查看示例快照以获得清晰的可见性:

enter image description here

如需更多帮助,请同时查看How to Using Webdriver Selenium to get the value of "style" element

答案 1 :(得分:1)

元素的颜色很可能由CSS类控制,该类将样式应用于该元素。这意味着您可以只验证元素是否应用了特定样式,或者您可以获取背景颜色的CSS值(可能这是“红色”)。 This thread可能对您有所帮助。