我从 BitMotif - Selenium Remote Control For Java — A Tutorial
获取此代码package Practice;
import com.thoughtworks.selenium.Selenium;
import com.thoughtworks.selenium.DefaultSelenium;
import junit.framework.TestCase;
import org.openqa.selenium.server.SeleniumServer;
public class TestMangaPanda
extends TestCase
{
private static final String MAX_WAIT_TIME_IN_MS = "6000";
private static final String BASE_URL = "http://www.bitmotif.com";
private Selenium selenium = new DefaultSelenium( "localhost",
4444,
"*firefox",
BASE_URL);
SeleniumServer seleniumServer;
public void setUp() throws Exception
{
seleniumServer = new SeleniumServer();
seleniumServer.start();
selenium.start();
}
public void tearDown()
throws Exception
{
selenium.stop();
seleniumServer.stop();
}
public void testClickingLink()
throws Exception
{
selenium.open(BASE_URL);
selenium.click("link=Test Page For Selenium Remote Control");
selenium.waitForPageToLoad(MAX_WAIT_TIME_IN_MS);
String expectedTitle = "Bit Motif » Test Page For Selenium Remote Control";
assertEquals(expectedTitle, selenium.getTitle());
}
}
这是使用 Selenium RC 的基本单元测试,但它不断出现此异常:
java.lang.IllegalAccessError:尝试访问方法 org.openqa.selenium.browserlaunchers.LauncherUtils.getSeleniumResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream; 来自 org.openqa.selenium.server.SeleniumServer 类 org.openqa.selenium.server.SeleniumServer.logVersionNumber(SeleniumServer.java:265) 在 org.openqa.selenium.server.SeleniumServer.logStartupInfo(SeleniumServer.java:673) 在 org.openqa.selenium.server.SeleniumServer.(SeleniumServer.java:229) 在 org.openqa.selenium.server.SeleniumServer.(SeleniumServer.java:205) 在 Practice.TestMangaPanda.setUp(TestMangaPanda.java:21) 处 junit.framework.TestCase.runBare(TestCase.java:132) 在 junit.framework.TestResult$1.protect(TestResult.java:110) 在 junit.framework.TestResult.runProtected(TestResult.java:128) 在 junit.framework.TestResult.run(TestResult.java:113) 在 junit.framework.TestCase.run(TestCase.java:124) 在 junit.framework.TestSuite.runTest(TestSuite.java:243) 在 junit.framework.TestSuite.run(TestSuite.java:238) 在 org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 在 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 在 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 在
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
谢谢你:D
这可能是由于运行时加载的 jar 文件或类造成的。您能否检查一下您的类路径中是否有最新的 Jar 文件?尝试清理并再次构建项目。
线程“main”中的异常java.lang.IllegalAccessError:类test01.firstTestCase(在模块automationTest中)无法访问类org.openqa.selenium.chrome.ChromeDriver(在未命名模块@0x5afa04c中),因为模块automationTest不读取未命名模块@ 0x5afa04c 在自动化测试/test01.firstTestCase.main(firstTestCase.java:14)