关于Selenium getTitle()方法

时间:2014-03-05 15:41:35

标签: java selenium-webdriver

在某些情况下,getTitle()方法对我不起作用。

看看。

@Test
public void testTitleReliability() {

    driver.get("https://www.google.com");

    boolean title = driver.getTitle() == "Google";

    if(title)

        System.out.println("I am working correctly");

    else if(!title)

        System.out.println("I am broken!");

然而,它将适用于此:

@Test
public void testTitleReliability() {

    driver.get("https://www.google.com");

    boolean title = driver.getTitle().contains("Google");

    if(title)

        System.out.println("I am working correctly");

    else if(!title)

        System.out.println("I am broken!");

任何人都知道为什么?

1 个答案:

答案 0 :(得分:3)

“==”只检查两个引用变量是否指向Java堆中的同一个对象,并且因为String在Java中是不可变的并且在String池中维护两个String literal引用相同的String对象,这意味着“==”可以用于比较不正确的字符串。总是使用equals()方法进行相等性检查,并使用compareTo方法进行实际的字符串比较。