2

テスト中にSeleniumに拡張機能をインストールしようとしています。最新のスタンドアロン JAR ( selenium-server-standalone-2.26.0.jar) と Firefox 17 を使用してテストを実行しています。拡張機能を追加しようとしていないとき、プログラムは完全に機能します。

使用しようとしている拡張機能ファイルが存在し、プログラムからアクセスでき、実際に有効な install.rdf が含まれていることを何度も確認しました。これは、デフォルトの Firefox プロファイルに拡張機能を手動でインストールするために使用したためです。

私のコードは次のとおりです。

FirefoxProfile fp=new FirefoxProfile();
File ext=new File("myext-2.17.xpi");
        try {
            fp.addExtension(ext);
            fp.setPreference("extensions.myext.version", "myext-2.17");
        } catch (Exception e2) {
            e2.printStackTrace();
        }
WebDriver wd=new FirefoxDriver(fp);

完全なスタック トレースは次のとおりです。

Exception in thread "pool-1-thread-2" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7055; process output follows: 
null
Build info: version: '2.26.0', revision: '18041', time: '2012-11-01 19:33:38'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_02'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:122)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:243)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:189)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
    at TrafficGenerator.BrowserWindow.run(BrowserWindow.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: Cannot locate node containing extension id: C:\Users\Vivek\AppData\Local\Temp\unzip3924903411706376479stream\install.rdf
Build info: version: '2.26.0', revision: '18041', time: '2012-11-01 19:33:38'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_02'
Driver info: driver.version: FirefoxDriver
Build info: version: '2.26.0', revision: '18041', time: '2012-11-01 19:33:38'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_02'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.firefox.internal.FileExtension.readIdFromInstallRdf(FileExtension.java:141)
    at org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:60)
    at org.openqa.selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:465)
    at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:443)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:77)
    ... 10 more

FF16 と FF9 を使用してもエラーが発生します。エラーの原因となる可能性のあるものと、それを修正する方法についてのアイデアはありますか?

4

1 に答える 1

-1
Caused by: org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: Cannot locate node containing extension id: C:\Users\Vivek\AppData\Local\Temp\unzip3924903411706376479stream\install.rdf

拡張機能の RDF 記述に必要な「拡張 ID」フィールドが欠落しているようです。

拡張機能なしで Firefox を起動しようとしたり、実行中の Firefox に Selenium なしで拡張機能をインストールしようとしたりするかもしれません。

于 2012-12-14T08:09:18.893 に答える