Selenium 中的java.lang.IllegalAccessError

问题描述 投票:0回答:2

我从 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

java exception selenium junit
2个回答
0
投票

这可能是由于运行时加载的 jar 文件或类造成的。您能否检查一下您的类路径中是否有最新的 Jar 文件?尝试清理并再次构建项目。


0
投票

线程“main”中的异常java.lang.IllegalAccessError:类test01.firstTestCase(在模块automationTest中)无法访问类org.openqa.selenium.chrome.ChromeDriver(在未命名模块@0x5afa04c中),因为模块automationTest不读取未命名模块@ 0x5afa04c 在自动化测试/test01.firstTestCase.main(firstTestCase.java:14)

© www.soinside.com 2019 - 2024. All rights reserved.