首页 > 解决方案 > 检查多个 IF 语句是否都正确,当它们不是一个动作时

问题描述

我正在开发一个自动测试文件,用于检查网页中的特定元素是否使用了正确的 CSS 值。我似乎无法弄清楚如何检查多个 CSS 值以查看它们是否全部正确,但最重要的是,当 1 个或多个不正确时,我可以显示不是 100% 值的消息或错误是目前正确。

这是我现在的代码,

WebElement buttons = driver.findElement(By.className("primaryButton"));
    if (buttons.getCssValue("font-size").equals("14px")) 
    {
        System.out.println("Font-size is correct");
    }       
    if (buttons.getCssValue("color").equals("rgba(255, 255, 255, 1)")) 
    {
        System.out.println("Font-color is correct");
    }
    if (buttons.getCssValue("background-color").equals("rgba(89, 192, 237, 1)")) 
    {
        System.out.println("Background-color is correct");
    }
    if (buttons.getCssValue("border-radius").equals("2px")) 
    {
        System.out.println("Border-radius is correct");
    }
    else 
    {
        System.out.println("Test was not 100% correct, check back to see what value is 
        incorrect");
    }

如果有人可以帮助我,我会很高兴,我不确定它是否 100% 清楚我的问题是什么,但我希望有人能理解。英语不是我的母语。

标签: javacssselenium

解决方案


如果您要验证的所有内容是是否满足所有条件,我会更短地执行此操作,如下所示:

WebElement buttons = driver.findElement(By.className("primaryButton"));
if(!buttons.getCssValue("font-size").equals("14px") || !buttons.getCssValue("color").equals("rgba(255, 255, 255, 1)") || !buttons.getCssValue("background-color").equals("rgba(89, 192, 237, 1)") || !buttons.getCssValue("border-radius").equals("2px")) 
    System.out.println("Test was not 100% correct, check back to see what value is incorrect");

推荐阅读