web-dev-qa-db-ja.com

Windows 7でC#を使用してSeleniumテストを実行中に「IEDriverServerが存在しません」エラー

私はC#でWebDriverを使用してオートメーションフレームワークに取り組んでいます。 Firefoxでは正常に機能しますが、IEでは正常に機能しません。

次のエラーが表示されます。

IEDriverServer.exeは存在しません-ファイルc:\ users\administrator\documents\visual studio 2010\projects\TestProject1\TestProject1\bin\Debug\IEDriverServer.exeは存在しません。ドライバーは http://code.google.com/p/Selenium/downloads/list からダウンロードできます。

IE 9およびWindows 7を使用しています。

IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.co.uk");
IWebElement queryBox = driver.FindElement(By.Name("q"));
queryBox.SendKeys("The Automated Tester");
queryBox.SendKeys(Keys.ArrowDown);
queryBox.Submit();

こちらもご覧ください this screenshot

27
Pat

ジム・エヴァンス(IEDriverServerで働く)

.NETバインディングは、実行可能ファイルの%PATH%環境変数をスキャンしません。つまり、.NETバインディングonlyの場合、IEDriverServer.exeは.NETバインディングアセンブリと同じディレクトリにあるか、またはコンストラクター内のディレクトリをInternetExplorerDriverクラスに指定する必要があります。

これらのいずれかを実行しない(またはInternetExplorerOptionsクラスのUseInternalServerプロパティを設定しない)と、.NET IEドライバー実装が例外をスローします。これは、意図したとおりです。スタンドアロンIEDriverServer.exeの使用を開始するユーザー、およびサーバーの「内部」または「レガシー」バージョンを使用する機能は、将来のリリースで削除される予定です。

https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE

13
A.J

IEDriverServer.exe(およびChromeDriver.exe)は、次からダウンロードできます。

http://Selenium-release.storage.googleapis.com/index.html

これらをSeleniumテストで動作させるには、テストプロジェクトに.exeを含め、そのプロパティを「常にコピー」に設定します。

注:.exeファイルを表示するには、[ファイルの追加]ダイアログを調整する必要があります。

これを行うと、エラーが解決します。

22
Peter Bernier

IEDriverServer.exeを使用してInternetExplorerDriverを呼び出す方法の簡単なC#の例を次に示します。

必要に応じてリファクタリングします。

注:driver.Quit()を使用すると、テストの終了後にIEDriverServer.exeプロセスが確実に閉じられます。

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.IE;

namespace SeleniumTest
{
    [TestClass]
    public class IEDriverTest
    {
        private const string URL = "http://url";
        private const string IE_DRIVER_PATH = @"C:\PathTo\IEDriverServer.exe";

        [TestMethod]
        public void Test()
        {
            var options = new InternetExplorerOptions()
            {
                InitialBrowserUrl = URL,
                IntroduceInstabilityByIgnoringProtectedModeSettings = true
            };
            var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);
            driver.Navigate();
            driver.Close(); // closes browser
            driver.Quit(); // closes IEDriverServer process
        }
    }
}
16
Ralph Willgoss

IEで実行するためにJavaを使用するWebDriverのコード。この概念はC#を使用する場合に役立つと思います。

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);      
File file = new File("C:\\Program Files\\Internet Explorer\\iexplore.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
driver = new InternetExplorerDriver(capabilities);

上記のコードが機能しない場合は、「File file = new File( "C:\ Program Files\Internet Explorer\iexplore.exe");」の代わりに次を使用します。

File file = new File("F:\\Ripon\\IEDriverServer_Win32_2.25.2\\IEDriverServer.exe");

[注:IEDriverServerおよびWindows(32ビットまたは64ビット)のバージョンは個人によって異なる場合があります]

1
Ripon Al Wasim

Internetexplorer.exeがあるフォルダーまでのパスのみを指定します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using System.IO;

namespace Automation
  {
    class To_Run_IE
     {
        static void Main(string[] args)
        {
         //Keep Internetexplorer.exe in "D:\Automation\32\Internetexplorer.exe"
          IWebDriver driver = new InternetExplorerDriver(@"D:\Automation\32\"); \\Give path till the exe folder
         //IWebDriver driver = new Firefoxdriver()
       driver.Navigate().GoToUrl("http://www.google.com/");
       driver.Manage().Window.Maximize();         
       IWebElement query = driver.FindElement(By.Name("q"));
       query.SendKeys("Cheese");        
       query.Submit();         
       System.Console.WriteLine("Page title is: " + driver.Title);
       driver.Quit();
    }
} }
1
Nithin Sasalu

Visual StudioとC#を使用している場合、IEDriverServer、ChromeDriverなどを自動的にインストールするようにNareshScaler nugetパッケージを更新しました。つまり、起動と実行をより迅速に行うことができます。

http://nuget.org/packages/NareshScaler

1
Iain Hunter
      public IWebDriver IEWebDriver()
    {
        var options = new InternetExplorerOptions();
        options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
        webDriver = new   InternetExplorerDriver(ConfigurationSettings.AppSettings["IDEServerPath"].ToString(), options);//Path of ur IE WebDriver,Here I stored it in a AppConfig File
        return webDriver;
   }
0
Pat