请解释为什么。。。如果(driver.getTitle()==“Google”。。。在Selenium中总是返回false?
有人能解释一下这两行代码之间的区别吗?第一行返回true作为结果,而第二行代码总是返回false。我已经确认了请解释为什么。。。如果(driver.getTitle()==“Google”。。。在Selenium中总是返回false?,selenium,Selenium,有人能解释一下这两行代码之间的区别吗?第一行返回true作为结果,而第二行代码总是返回false。我已经确认了driver.getTitle()在我的例子中返回“Google” 以下是完整的代码供参考: package org.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; public class t
driver.getTitle()
在我的例子中返回“Google”
以下是完整的代码供参考:
package org.test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
public class test{
public static void main(String[] args){
WebDriver driver;
driver = new FirefoxDriver();
driver.get("http://www.google.com");
String title = driver.getTitle();
// Assert.assertEquals(title, "GoogleFAIL", "Test case has been FAILED");
//if (driver.getTitle().equals("Google"))
if (driver.getTitle() == "Google"){
System.out.println("Test case has been passed.");
} else
{
System.out.println("Test case has been failed.");
}
driver.close();
}
}
这里基本上都用于比较字符串,但主要区别在于
equals()
用于比较两个对象的值和状态,其中as=
称为引用相等,这意味着=
用于检查堆上两个对象的内存位置是否相同,但不是值
这里有更多信息它的字符串==vs等于-明白了。。谢谢你,伙计。!
package org.test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
public class test{
public static void main(String[] args){
WebDriver driver;
driver = new FirefoxDriver();
driver.get("http://www.google.com");
String title = driver.getTitle();
// Assert.assertEquals(title, "GoogleFAIL", "Test case has been FAILED");
//if (driver.getTitle().equals("Google"))
if (driver.getTitle() == "Google"){
System.out.println("Test case has been passed.");
} else
{
System.out.println("Test case has been failed.");
}
driver.close();
}
}