2016-07-20 9 views
0

最新のselenium-java依存関係とBrowsermobプロキシでPOM.xmlを更新しました。Selenium-Java:Browsermob Proxyy- NoClassDefFoundError

Javaコード:

WebDriver driver = new ChromeDriver(); 
    driver.get("http://www.google.com"); 
    driver.quit(); 

POM.xml looks like,

 <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-server</artifactId> 
     <version>2.53.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.53.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.lightbody.bmp</groupId> 
     <artifactId>browsermob-proxy</artifactId> 
     <version>2.0-beta-8</version> 
    </dependency> 

私は、次のエラーを取得、自動化スクリプトを実行している間:

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/interactions/HasInputDevices

スクリプトがBrowsermobプロキシ依存性を取り除いた後、正常に動作。 (しかし私はネットワークデータをキャプチャするためにBrowsermobプロキシが必要です)。

Browsermobプロキシの依存関係がselenium-api-2.*のように見えますが、これは古く、この問題の原因と考えられます。

ご協力いただければ幸いです。

+0

あなたはセレンサーバーとbrowsermobプロキシが起動し、前に実行されていることを確認していますスクリプトを実行します。 – user1207289

答えて

1

非常に古いバージョンのBrowserMob Proxyを使用しているようですが、おそらく最新バージョンのSeleniumと互換性がありません.BMPの最新バージョンはgithub pageにあります。例えば、BMPの現在のバージョンは2.1.2です

、あなたのポンポンファイルでこれを含めたいと思いますので:

<dependency> 
    <groupId>net.lightbody.bmp</groupId> 
    <!-- note the new artifactId --> 
    <artifactId>browsermob-core</artifactId> 
    <version>2.1.2</version> 
</dependency>