Java 为什么Selenium会在assertEquals中抛出错误?
由于某些原因,Selenium仅在字符串上使用Java 为什么Selenium会在assertEquals中抛出错误?,java,selenium,selenium-webdriver,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,由于某些原因,Selenium仅在字符串上使用assertEquals()时失败。它适用于其他数据类型,如int。我如何解决这个问题 @Test @DisplayName("Test unauthorized user can only access the login and signup pages.") public void unauthorizedAccess() { driver.get(baseURL + "/s
assertEquals()
时失败。它适用于其他数据类型,如int
。我如何解决这个问题
@Test
@DisplayName("Test unauthorized user can only access the login and signup pages.")
public void unauthorizedAccess() {
driver.get(baseURL + "/signup");
assertEquals("Sign Up", driver.getTitle());
driver.get(baseURL + "/login");
assertEquals("Login", driver.getTitle());
driver.get(baseURL + "/home");
assertEquals("Login", driver.getTitle());
driver.get(baseURL + "notes");
assertEquals("Login", driver.getTitle());
driver.get(baseURL + "files");
assertEquals("Login", driver.getTitle());
driver.get(baseURL + "credentials");
assertEquals("Login", driver.getTitle());
}
这是因为端点不存在
// Previous
driver.get(baseURL + "notes");
// Corrected
driver.get(baseURL + "/notes");
您是否理解使用
==
和使用equals
方法比较字符串之间的区别?如果您运行driver.get(baseURL+“/signup”);assertEquals(“注册”,driver.getTitle())代码>会有什么错误?@ScottHunter是的,我知道。不过,Assertequals可以处理对象比较。我假设它会抛出第一个驱动程序。get()
,它与JUnit无关。它在org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:277)
上失败了,这让我觉得你的baseURL
是null
或者对driver.get()
调用无效。创建一个,就是把所有不相关的东西都去掉,直到你把它缩小到能再现问题的最小代码位。这也是良好调试的一部分。根据我所说的,您的MCVE应该是driver.get(baseURL+“/signup”)代码>这应该是问题所在的指示器。
// Previous
driver.get(baseURL + "notes");
// Corrected
driver.get(baseURL + "/notes");