16

Selenium WebDriver が Chrome を使用して自動テストを実行するために必要な ChromeDriver.exe ファイルを含むWebDriver.ChromeDriver nuget パッケージをソリューションに追加しました。パッケージの内容を見ると、次のファイルが含まれているだけです。

tools\chromedriver.exe

これが行うことになっているのは、このフォルダーを PATH 環境変数に追加して、次のコードを介してchromedriver.exeにアクセスできるようにすることです (これは、MSTest を使用する UnitTest プロジェクトにあります)。

[TestMethod]
public void LaunchWebsite_Chrome()
{
     // create ChromeDriver - this should work if chromedriver.exe 
     // is known to the environment PATH variable
     IWebDriver driver = new ChromeDriver();

     driver.Navigate().GoToUrl("http://localhost/");
}

ただし、まだ次の例外が発生しています。

chromedriver.exe ファイルが現在のディレクトリまたは PATH 環境変数のディレクトリに存在しません。ドライバーはhttp://code.google.com/p/chromium/downloads/listからダウンロードできます。

nuget のドキュメントを見ると、nuget パッケージのtoolsフォルダーにあるものはすべて PATH 環境変数に自動的に追加されることが示唆されています。

http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package : パッケージのツール フォルダーは、パッケージ マネージャー コンソールからアクセスできる PowerShell スクリプトとプログラム用です。フォルダがターゲット プロジェクトにコピーされた後、`$env:Path (PATH) 環境変数に追加されます。

ただし、これは機能していないようです。コマンドラインでも実行echo %PATH%しましたが、ツールフォルダーが登録済みとして表示されません。

私は何を間違っていますか?

4

7 に答える 7

23

これはクラス ライブラリではないという理由だけで、NuGet パッケージを気にする必要はありません。技術的には、これが NuGet のすべてです。ChromeDriver も、そのリリース以降、何度も更新されています。

とにかく、問題が何であるかを確認するために同じことをしたと言えます。

  1. NuGet パッケージをダウンロード
  2. Visual Studio を使用して、プロジェクトを右クリックして新しいアイテムをプロジェクトに追加します -> アイテムの追加 -> 既存のアイテム
  3. chromedriver.exe に移動して選択します。
  4. プロパティを変更して、[出力ディレクトリにコピー] が [常にコピー] に設定されていることを確認します。

あなたはおそらくポイント 4 で落ち込んでいます。その設定はデフォルトで [コピーしない]に設定されています。

于 2013-07-17T11:36:56.350 に答える
3

同様の問題がこれらの3つのステップで解決されました

1.Google Chrome ドライバーの公式サイト https://sites.google.com/a/chromium.org/chromedriver/downloadsにアクセス し、ダウンロードして解凍します。

2.Visual Studioソリューションエクスプローラーに移動し、追加をクリックします->既存のファイル->クロムドライバーを選択します

3.VSでchromeドライバーを右クリックし、プロパティを選択して常にコピーするように設定します

于 2017-03-19T17:14:22.780 に答える