Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Selenium会在assertEquals中抛出错误?_Java_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Java 为什么Selenium会在assertEquals中抛出错误?

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

由于某些原因,Selenium仅在字符串上使用
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");