クライアントサイドからSeleniumを呼び出す必要があるので、Javaアプレットから静的HTMLページでSeleniumを実行しようとしています。HTMLのアプレットからセレンwebdriversを実行する
私は、SUSE Linux環境でfirefox 3.6.12を使用しています。 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>
のように見えるアプレットがロードされたとの情報文を印刷しました。しかし、 webdriverの作成中に、私はJavaの下の例外を取得している コンソールとそれはそこで停止します。私はHTMLで私の 'アーカイブ' に アプレット宣言の属性 'セレンのfirefox-ドライバ2.0a5.jar' を追加した
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)
。
このような操作を実行できるのはアプレットですか? (以来、それはJVMを使用して、私はそれがすべきだと思います)
この問題を克服するために何をすべきですか?
Javaアプレット以外のブラウザからセレンを起動する方法はありますか?
PS:Eclipseでアプレットだけを実行しようとするとうまくいきます。しかし、ブラウザで開くとこの問題が発生します。
「*任意の回避策Javaアプレットを使用するよりも、他のブラウザからセレンを開始するには、ありますか?」*はい、とはるかに良いです。それは[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)です。それはリンクのフレームを起動します。しかし、クラスパスをどちらかの方法でソートする必要があります。 BTW - '/ home/*******/Selenium/2.20.0 /'はすべてのJarの共通ルートと思われるので、 'codebase'として指定する方が良いでしょう。 –
私は必要なライブラリをすべてアーカイブに追加する必要があると思います。 –
さて、Java Web Startで試してみて、どうなるか見てみましょう! – user691197