現在、奇妙な問題が発生しています。いくつかの受け入れテストを開始したばかりで、最新の Selenium Webdriver を NUGet に移動しました。正常にインストールされ、すべてが機能していることを証明する簡単なテストを作成しました。
[Test]
public void should_navigate_to_google()
{
var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
}
このプロジェクトは、.net 4 を使用した単なるデフォルトのクラス ライブラリであり、すべてが含まれており、Resharpers テスト ランナーを介してテストをビルドおよび実行しました。次に、以下のエラーが発生しました。
OpenQA.Selenium.WebDriverException : Firefox への接続中にエラーが発生しました ----> System.IO.FileNotFoundException : ファイルまたはアセンブリを読み込めませんでした 'Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c' またはその依存関係の 1 つ。システムは、指定されたファイルを見つけることができません。OpenQA.Selenium.Firefox.FirefoxDriver.StartClient() で OpenQA.Selenium.Firefox.FirefoxDriver..ctor() で --FileNotFoundException で OpenQA.Selenium.Firefox.FirefoxExtension.Install(String profileDir) で OpenQA.Selenium.Firefox で。 OpenQA.Selenium.Firefox.FirefoxProfile.WriteToDisk() の FirefoxProfile.InstallExtensions() OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start() の OpenQA.Selenium.Firefox.FirefoxDriver.StartClient()
私は少し困惑し、ライブラリの .net 3.5 バージョンを使用する必要があるのではないかと考えましたが、同じエラーはありませんでした。次に、.net 4 に戻って、プロパティで SpecificVersion を使用するようにアセンブリに指示しようとしましたが、まだ運がありません。
x86用にビルドしていて、firefoxがデフォルトの場所にインストールされていることを確認し、firefoxプロファイルにexeの場所へのリンクを提供し、firefoxバイナリを作成して、どこを見るかを伝えましたが、まだうまくいきません. 次に、NUGet バージョンを削除し、Web サイトからクライアント ドライバーのバイナリを取得しましたが、同じ問題が発生しました。
バージョンを切り替えてさまざまな CPU タイプ用にビルドしようとした後、私はアイデアがありません。このような問題についてはほとんど文書化されていないため、役に立つ場合に備えて他の情報を次に示します。
- Windows 7 プロフェッショナル 64 ビット
- Visual Studio 2010 Premium (Resharper 6 を使用)
- Firefox 11 (デフォルトの場所にインストール)
Internet Explorer ドライバーを使用して、Firefox 固有の問題ではないことを確認しようとしましたが、以下に示す別のエラーが表示されます。
System.IO.FileNotFoundException : Could not load file or assembly 'Newtonsoft.Json, Version=4.0.6.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
at OpenQA.Selenium.Remote.Command.get_ParametersAsJsonString()
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(DriverCommand driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
at OpenQA.Selenium.IE.InternetExplorerDriver..ctor()
だから今、私はアイデアがなくなり、これまでに約3時間を無駄にしました:(