【问题标题】:Selenium.WebDriver - I get error when I try to run my test in ChromeSelenium.WebDriver - 当我尝试在 Chrome 中运行测试时出现错误
【发布时间】:2012-05-26 02:41:54
【问题描述】:

当我尝试在 Chrome 中运行测试时出现此错误:

初始化方法 AutomationUsingSelenium.SmuladorChrome.MyTestInitialize 抛出异常。 OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException

是什么原因?

【问题讨论】:

  • 你试过给chromedriver路径吗?
  • 可以,但不行:System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", "C:\\..\\Drivers\\chromedriver.exe"); IWebDriver drive = new ChromeDriver();
  • 你可以试试这个qn中提到的第二个选项stackoverflow.com/questions/10650360/…
  • WebDriver 不需要 Selenium Server 运行。
  • 啊,我的错。我正在考虑远程 webdriver ..

标签: selenium automated-tests selenium-chromedriver


【解决方案1】:

最后我解决了我的问题如下:

1)我复制了chromedriver.exeChrome目录link,但是你可以放在任何目录中。我决定把它放在这里。

2) 我使用指定的初始化了ChromeDriver 类的新实例 // 包含 ChromeDriver.exe 的目录的路径

我的代码:

IWebDriver drive = new ChromeDriver
("C:\\Documents and Settings\\...\\ApplicationData\\Google\\Chrome\\Application");

而且效果非常好。谢谢大家。

【讨论】:

    【解决方案2】:

    Selenium.Chrome.WebDriverNuGet包安装到项目中就不会再报错了。

    在 Visual Studio 中,右键单击项目,单击 Manage NuGet Packages... ,搜索 Selenium.Chrome.WebDriver 并单击安装。

    享受硒。

    【讨论】:

    • 这是 VS 用户最好/最简单的解决方案 - 它包含您需要的一切;无需担心设置路径。
    【解决方案3】:

    假设chromedriver.exe 存在于以下路径中:G:\Selenium_Csharp\Jar\chromedriver_win32\chromedriver.exe

    要在 Chrome 中执行测试,请将路径设置为包含 chromedriver.exe 的目录/文件夹,而不选择 chromedriver.exe 文件名。

    driver = new ChromeDriver("G:\\Selenium_Csharp\\Jar\\chromedriver_win32");
    
    driver.Url ="http://www.gmail.com";
    driver.Manage().Window.Maximize();
    

    driver = new ChromeDriver(@"G:\Selenium_Csharp\\Jar\\chromedriver_win32");
    
    driver.Url ="http://www.gmail.com";
    driver.Manage().Window.Maximize();
    

    【讨论】:

      【解决方案4】:

      这是我看到的错误: OpenQA.Selenium.DriverServiceNotFoundException:chromedriver.exe 文件不存在于当前目录或 PATH 环境变量的目录中。

      我通过在命令中指定“testsettings”参数来运行单元测试解决了这个问题。

      例如

      E:\Development\SampleProject\SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe" /testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx
      

      我使用“/testsettings:......\Local.Testsettings”,因为 Local.testsettings 文件比我执行此命令的级别高 4 个级别。你应该相应地改变它。

      这是ccnet.config文件中使用的命令

      <exec>
          <executable>C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\mstest.exe</executable>
          <baseDirectory>SampleProject.MvcWebApp\SampleProject.MvcWebApp.JavaScriptUnitTests\JavaScriptUnitTests\bin\Debug</baseDirectory>
          <buildArgs>/testcontainer:JavaScriptUnitTests.dll /category:"JavaScriptUnitTests" /testsettings:..\..\..\Local.Testsettings /resultsfile:..\..\..\..\..\MsTestResults\SampleProject.MvcWebApp.JavaScript.Tests.trx</buildArgs>
          <successExitCodes>0</successExitCodes>
      </exec>
      

      【讨论】:

      • 我没有发现这个答案有帮助,因为您没有解释正在修复的内容或如何创建测试设置文件。经过大量研究后,我确定 testsettings 文件必须禁用“启用部署”,这需要在测试设置 UI 中切换该设置。基本问题是,在部署过程中,MSTest 只复制 dll、config 而不是 exe。
      猜你喜欢
      • 2022-01-15
      • 2020-02-11
      • 1970-01-01
      • 2013-01-01
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2017-08-30
      相关资源
      最近更新 更多