junit 如何配置Spring STS来运行Selenium测试类?

frebpwbc  于 11个月前  发布在  Spring
关注(0)|答案(2)|浏览(184)

我使用Spring STS(3.7)来开发一个MVC应用程序。我试图使用我在一本书中读到的一个例子来运行一个简单的Selenium测试。当我运行JUnit测试时,我收到一个'ClassNotFoundException'。奇怪的是,没有找到的类是测试类本身:'UIHomeTest'。我已经验证了类路径上有JUnit,Hamcrest和Selenium。我已经尝试将JUnit库添加到运行配置中。下面是测试类的代码:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;

import static org.junit.Assert.assertEquals;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.thoughtworks.selenium.SeleneseTestBase;

字符串
public class Uncategorized {

private WebDriver browser;

private static final String HOME_URL = "http://localhost:8080/";

@Before
public void setUp() throws Exception {

    WebDriver driver = new FirefoxDriver();

}

@Test
public void testHomePage()
{

    browser.get(HOME_URL);

    assertEquals("Home", browser.findElement(By.id("title")).getAttribute("value"));
}

@After
public void tearDown() throws Exception
{
    browser.close();
}

}


这是一个错误:

Class not found org.test.ui.UIHomeTest
java.lang.ClassNotFoundException: org.test.ui.UIHomeTest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)


我以前可以在Spring STS中运行非Selenium JUnit测试类。谁能帮助我正确配置Spring STS以运行Selenium测试类?谢谢。

ljo96ir5

ljo96ir51#

在观察导入和selenium代码时,我发现很少有不需要的导入,比如import org.openqa.selenium.WebDriverBackedSelenium; import com.thoughtworks.selenium.SeleneseTestBase;也没有使用或启动驱动程序对象。下面是完整的代码,对我来说很好。
com.tesngtraining;是我的软件包。如果你下载的是java专用的selenium jar,那么请在构建路径中包含不同文件夹中的所有jar,或者下载独立的selenium jar文件并在构建路径中给予。

package com.tesngtraining;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TestingJunit {

private WebDriver browser;

private static final String HOME_URL = "http://localhost:8080/";

@Before
public void setUp() throws Exception {

    browser = new FirefoxDriver();

}

@Test
public void testHomePage()
{

    browser.get(HOME_URL);

    assertEquals("Home", browser.findElement(By.id("title")).getAttribute("value"));
}

@After
public void tearDown() throws Exception
{
    browser.close();
}

}

字符串
谢谢你,穆拉利

wdebmtf2

wdebmtf22#

如果它是一个spring Boot 应用程序,你需要在你的类上面添加annotation @springbootTest,同时webdriver也需要通过@autowired注入

相关问题