2017-01-05 19 views
1

私はSeleniumテストの作成を始めようとしています。最初の非常に基本的なテストは例外OpenQA.Selenium.DriverServiceNotFoundExceptionで失敗します。Selenium OpenQA.Selenium.DriverServiceNotFoundException、FireFox

using OpenQA.Selenium; 
using OpenQA.Selenium.Firefox; 

namespace WebDriverDemo 
{ 
     class Program 
    { 
     static void Main(string[] args) 
     { 
      IWebDriver driver = new FirefoxDriver(); 
      driver.Url = "http://www.google.com"; 

     } 
    } 
} 

デバッガは、私がgeckodriver.exeをダウンロードして、私がやった私のPATH変数、上でそれを設定する必要があると述べている、と私はまだ同じ例外を取得します。 ChromeDriverで同じことをするとうまくいきます。

また、MDNによれば、私がSelenium 3.0以降を使用している場合は、デフォルトで有効にする必要があります。私はWindows 10コンピュータでSelenium 3.0.1を使用しています。

答えて

1

System.setProperty()メソッドを使用して、Geckodriverの場所をPATHに追加するか、コードでのみ追加することができます。

このリンクをご覧ください。それはJavaで基本的なコードを示しています、あなたはC#の等価物を書く必要があります。しかし、それはGeckoDriverを使用するためのステップを言及しています。それでも動作しない場合は、あなたが得るエラーを共有してください。

http://www.automationtestinghub.com/selenium-3-0-launch-firefox-with-geckodriver/

+0

以前はPATH変数に設定していましたが、同じエラーが表示されましたが、変更せずにもう一度試してみましたが、期待通りに動作しています。しかし、これは正しい解決策であり、関係なく、ありがとうございます。 –

2

私は「新しい場合はコピーを」出力ディレクトリにそのコピーの財産を自分のプロジェクトにgeckodriver.exeを追加し、選択することによって、問題を解決しました。

これにより、通常のコードとNUnitテストの両方でドライバを見つけることができます。 PATHまたはSetProperty呼び出しの変更は必要ありません。

2

別のオプションは、Selenium.Firefox.WebDriver NuGetパッケージをインストールして、ドライバをbinフォルダにコピーします。

次に、あなたのテストを実行するために、ドライバのctorに現在のフォルダへのパスを提供することができます。

IWebDriver driver = new FirefoxDriver("./"); 
-1

ちょうどhereからFirefoxのドライバをダウンロードしてください。

そして単にドライバexeをbinディレクトリにコピーしてください。魅力のように動作します。 :)

関連する問題