在硒中断言不适合我

时间:2018-01-24 13:21:41

标签: java selenium selenium-webdriver testng assert

'断言无法解决'我尝试插入Assert命令时显示

    String menu1 = driver.findElement(By.xpath("value")).getText();
    System.out.println(menu1);
    if(Assert.assertEquals(menu1,"About Us"))
    {

    }

3 个答案:

答案 0 :(得分:1)

错误说明了一切:

'Assert cannot be resolved'

此错误的原因和解决方案可以是以下任一项:

  • import org.testng.Assert;缺失。
  • 未正确下载TestNG jar。您可能需要下载TestNG jar并重新配置。
  • 值得一提的是Assert.assertEquals()方法返回void。所以编译器应该抱怨以下代码行:

    if(Assert.assertEquals(menu1, "About Us"))
    
  • 如果您需要捕获通过或失败状态,请将try-catch块中的断言用Throwable t打包,如下所示:

    String menu1 = driver.findElement(By.xpath("value")).getText();
    System.out.println(menu1);
    try {
        Assert.assertEquals(menu1, "About Us")
        System.out.println("Assertion Successful");
    } catch (Throwable t) {
        System.out.println("Exception raised in Assertion");
    }
    
  • 成功输出将是:

    Assertion Successful
    
  • 失败时的输出将是:

    Exception raised in Assertion
    

答案 1 :(得分:0)

请将以下import语句添加到您的代码中。它可能会解决您的问题。

import org.testng.Assert;

assertEquals不返回任何值。

你不能放入if子句。请删除if语句。

只添加断言语句。

Assert.assertEquals(menu1,"About Us");

答案 2 :(得分:0)

无需使用if with Assert,单独尝试。还要检查是否有testng,

使用

import org.testng.*;

import org.testng.Assert;

喜欢这段代码:

String menu1 = driver.findElement(By.xpath("value")).getText();
System.out.println(menu1);
Assert.assertEquals(menu1,"About Us");