Запускать селеновые веб-драйверы из апплета в HTML - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно вызвать 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: Когда я пытаюсь запустить Апплет один в затмении, он работает нормально.Но эта проблема возникает при открытии в браузере.

1 Ответ

0 голосов
/ 02 апреля 2012

Использование подписанных апплетов решило проблему.

Ссылка: http://www.developer.com/java/other/article.php/3303561/Creating-a-Trusted-Applet-with-Local-File-System-Access-Rights.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...