私は、現時点では奇妙な問題を抱えている、私はいくつかの受け入れテストの開始を作り、最新のセレンwebdriverををNUGetに行ったのです。細かいインストールし、ちょうどそれがすべての仕事をしていたことを証明するために簡単なテストを書いた:このプロジェクトは、.NET 4を使用しただけで、デフォルトのクラスライブラリですセレンwebdriverを2.20 .NETクライアント、依存関係の問題?
[Test]
public void should_navigate_to_google()
{
var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
}
、すべてがOK含まれており、私が構築され、Resharpersテストランナーを介してテストを実行しました。
OpenQA.Selenium.WebDriverException: は----> System.IO.FileNotFoundExceptionのFirefoxへの接続中にエラーが発生しました: ファイルまたはアセンブリをロードできませんでした「Ionic.Zip、それから私は以下のエラーを得ましたバージョン= 1.9.1.8、 カルチャニュートラル、PublicKeyToken = = edbe51ad942a3f5c」またはその依存関係の1つ 。システムは、指定されたファイルを見つけることができません。 でOpenQA.Selenium.Firefox.FirefoxDriver..ctor(AT OpenQA.Selenium.Firefox.FirefoxDriver.StartClient()) OpenQAでOpenQA.Selenium.Firefox.FirefoxExtension.Install(文字列profileDir)で --FileNotFoundExceptionました。 OpenQA.Selenium.Firefox.FirefoxDriver.StartClientでOpenQA.Selenium.Firefox.Internal.ExtensionConnection.Start()で OpenQA.Selenium.Firefox.FirefoxProfile.WriteToDisk()でSelenium.Firefox.FirefoxProfile.InstallExtensions()()
私はちょっと困惑していて、ライブラリの.net 3.5バージョンを使用する必要があるかもしれないと思っていました。私はその後、.NET 4に戻って行くと、プロパティでまだ運をSpecificVersionを使用しないようにアセンブリを言ってみました。
私はx86用にビルドしています。そのFirefoxはデフォルトの場所にインストールされています。私もfirefoxプロファイルにexeの場所へのリンクを与えました。さらにfirefoxバイナリを作成して見てください。それから、NUGetバージョンを解凍して、クライアントドライバのバイナリをWebサイトから取得しました。同じ問題です。
バージョンを切り替えると、私はアイデアのうち、午前異なるCPUタイプのために構築しようとした後、そこにはほとんどこのような任意の問題について文書化され、それが有用である包みなさいここにいくつかの他の情報があります。 (デフォルトの場所にインストール)
- のWindows 7 Professionalの64ビット
- のVisual Studio 2010(ReSharperの6付き)プレミアム
- Firefoxの11
私が作るために、Internet Explorerのドライバを使用してみましたファイアウォール固有の問題ではないことを確認してください。次のエラーが表示されます。
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時間を無駄にしている:(
上記のように、私はプロジェクトとパッケージからNUGetファイルを完全に削除しました。(NUGetはアンインストールしましたが、削除されたことを二重にチェックしています)、サイトからクライアントドライバをダウンロードしてパッケージ内の別のフォルダに入れ、それら。だから彼らはサイトからダウンロードした2.20ジップバージョンのためにすべてコンパイルされています。私はクライアントプロファイルではなく完全な.netターゲットをターゲットにしています。 – Grofit
そして、WebDriverは厳密な名前のアセンブリを提供していることを指摘しておきます。つまり、WebDriverは特定のバージョンの依存関係にリンクされていなければならず、NuGetの依存関係**は特定のバージョンでなければならず、通常の>依存関係でなければなりません。このシナリオでNuGetがより良いストーリーを提供すると、問題は解決されます。 – JimEvans