当前位置: 首页 > 知识库问答 >
问题:

Selenium WebDriver-第二部分-1)对AssertEquals的失败测试失败2)验证元素不存在

班高明
2023-03-14
public boolean compareWidthPixels(By by, String expected) {
    System.out.println(driver.findElement(by).getCssValue("width"));
    try {
        assertEquals(expected, driver.findElement(by).getCssValue("width"));
        System.out.println("Width as expected");
        return true;

    } catch (Error e) {
        verificationErrors.append(e.toString());
        System.out.println("Width incorrect");
        return false;

    }

当宽度与期望值不匹配但测试用例通过时,此代码显示“width increct”。如果宽度不相等,我希望测试失败。

2)如何断言/验证元素不存在?

作为一个新手,我尝试了很多我在Google中找到的东西,这里是Stack Overflow--使用Selenium WebDriver with java断言WebElement不存在,Selenium WebDriver--测试元素是否存在等等。我正在使用JUnit4,需要一个函数,如果元素不存在就应该通过。

附注:如果这个问题看起来令人困惑或迷失方向,请随意编辑。

共有1个答案

薛钧
2023-03-14

答案1:要使用assert true或false,您应该使用if else来代替,然后通过assert调用函数。

public boolean compareWidthPixels(By by, String expected) {
    System.out.println(driver.findElement(by).getCssValue("width"));
    if (driver.findElement(by).getCssValue("width").equals(expected)){
        System.out.println("Width as expected");
        return true;
    } 
    System.out.println("Width incorrect");
    return false;
}

然后在测试中使用compareWidthPixels作为'asserttrue(compareWidthPixels(by,expected))'

同样地,对于第二个问题,您可以使用以下方法

private boolean isElementPresent(By by) {
    try {
        driver.findElement(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}
 类似资料:
  • 我将Mockito与JUnit一起使用,为Android项目中的类实现单元测试。问题是,我在随后的两个测试中调用了,而这两个测试完全相同(以确保我正确使用了Mockito),但有趣的是,在第二个测试中的verify总是失败。我怀疑,在使用注释的每次测试之前需要执行一些操作,而我忽略了这些操作。 我使用Android Studio 3.4.1、Mockito 2.7.22和JUnit 4.12。 下

  • 问题内容: 嗯,我有一个金钱对象,可以将其他金钱对象添加到其中。我在Java中尝试测试我的代码是否还可以,但是随后失败了。 我非常肯定自己的代码是正确的(返回正确的答案),我认为我使用的是错误的方式。T_T 如果要查找是否要进行测试,该怎么使用? 问题答案: 您没有在Money类中重写Object类中的方法。如果是这样,则通过它们的引用比较对象,在这种情况下,引用是不同的。 在这里您可以找到实施规

  • 我已经安装了WAMP3.0.4,并试图编写一个连接到外部HTTPS web服务的PHP脚本。但这将返回错误: 从上面可以清楚地看出,我是Apache/WAMP的新手。也许有人能解释一下我错过了什么吗?

  • 我有一个JavaEE web应用程序,它使用ApacheShiro作为安全框架。我已经实现了一个自定义JPA授权域,这样我就可以使用JPA存储我的用户帐户。我的自定义域看起来像这样。。。 我能够成功地创建用户帐户(在一个单独的类中),并使用一个可用于身份验证的哈希密码。我的问题是,我只能验证一次。如果我登录一个用户,我会看到我的Shiro说我已通过身份验证。但是,如果我注销,并尝试使用完全相同的凭

  • - 我运行了此脚本,但出现了此错误。我怎么做?