Мне нужно вызвать Selenium со стороны клиента, поэтому я пытаюсь запустить Selenium из Java-апплета на статической HTML-странице.
Я использую Firefox 3.6.12 в среде SUSE Linux.HTML-страница выглядит следующим образом
<HTML>
<HEAD>
</HEAD>
<BODY>
<APPLET ALIGN="CENTER" CODE="SeleniumTest.class" WIDTH="800"
HEIGHT="500" archive="/home/******/Selenium/selenium-2.20.0/selenium-
server-standalone-2.20.0.jar,/home/******/Selenium/selenium-2.20.0/
selenium-java-2.20.0.jar,/home/*******/Selenium/selenium-2.20.0/
selenium-firefox-driver-2.0a5.jar" ></APPLET>
</BODY>
</HTML>
Апплет был загружен и были напечатаны информационные сообщения.Но во время создания веб-драйвера я получаю следующее исключение в консоли Java, и оно на этом останавливается.
Exception in thread "AWT-EventQueue-8" java.lang.NoClassDefFoundError:
Could not initialize class
org.openqa.selenium.firefox.internal.Executable
at
org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:
56)
at
org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:
52)
at
org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:
84)
at SeleniumTest.getWebDriver(SeleniumTest.java:36)
at SeleniumTest.runTest(SeleniumTest.java:85)
at SeleniumTest.paint(SeleniumTest.java:23)
at sun.awt.RepaintArea.paintComponent(Unknown Source)
at sun.awt.X11.XRepaintArea.paintComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.X11.XComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Я добавил 'selenium-firefox-driver-2.0a5.jar' в свой атрибут 'archive' объявления апплета в HTML.
Способен ли апплет выполнять такие операции?(Поскольку он использует JVM, думаю, так и должно быть)
Что еще мне нужно сделать, чтобы преодолеть эту проблему?
Есть ли способ обойти селен из браузера, кроме использования javaапплеты?
PS: Когда я пытаюсь запустить Апплет один в затмении, он работает нормально.Но эта проблема возникает при открытии в браузере.