【问题标题】:"Type mismatch: cannot convert from void to boolean" on assert [duplicate]断言上的“类型不匹配:无法从 void 转换为布尔值”[重复]
【发布时间】:2018-02-14 07:14:30
【问题描述】:

代码如下:

import static org.testng.Assert.assertEquals;

import static org.testng.Assert.assertTrue;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class ContactPageElements {
    public static WebElement element = null;
    public static String baseURL1 = "http://something.com";

    //Clicking logo should take you back to the baseURL
    public static void clickLogo (WebDriver driver) {
        element = driver.findElement(By.xpath(".//*[@id='blah'"));
        element.click();
        String currentURL = driver.getCurrentUrl();
        assert.assertEquals(currentURL, baseURL1);
    }
}

对于断言,我收到一个错误:“类型不匹配:无法从 void 转换为布尔值”

【问题讨论】:

  • 我认为您没有正确关闭ContactPageElements。代码末尾有两个}。编辑:我累了,以为第二个是类,而不是方法。
  • 可能只是格式。一个用于类,一个用于方法:)
  • 是的,我完全看错了。我的错。
  • 完全明白这一点。不用担心!
  • currentURL 可能为空。

标签: java selenium testng assert


【解决方案1】:

假设您有 assertEquals() 的静态导入,clickLogo() 的最后一行应该是:

assertEquals(currentURL, baseURL1);

【讨论】:

  • 应该,因为assert 是一个关键字,而不仅仅是一个随机类或变量名。因此在assert 上使用. 是没有意义的/错误的/无意义的。
  • 字面意思。很容易。谢谢!
  • @domoniq-doby 乐于助人。随意将此答案标记为正确:)
猜你喜欢
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2012-03-05
  • 2014-10-23
  • 1970-01-01
  • 2021-07-29
相关资源
最近更新 更多