visual studio 2015 年的 Web 测试项目无法运行,为什么?

web testing project in visual studio 2015 wont work, why?

我刚开始使用 visual studio 2015 和 c# 语言,所以我是一个完全的新手。无论如何,我试图在 vs2015 中使用 selenium(参考)编写一个 web 测试项目,前几个教程相对容易理解,这就是我得到的:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support;

namespace testsite
{

[TestClass]
public class firsttest
{
    IWebDriver driver;
    String url = "http://www.somewabpage.com";

    [TestInitialize]
    public void setup()
    {
        //Starting the browser and visiting the site
        driver = new ChromeDriver();
        driver.Navigate().GoToUrl(url);

    }

    [TestCleanup]
    public void Cleanup()
    {
        //after the test
        driver.Quit();

    }

    [TestMethod]
    public void testtingsite()
    {
        //Here we write the actual test 
    }
}
}

我知道这并不多,但问题是每当我去测试资源管理器时 >> 运行 然后我得到这个:

------ 运行 测试开始 ------

无法发现 NuGet 安装的测试扩展。 NuGet 服务不可用。由于缺少测试适配器扩展,可能找不到测试。 NUnit VS Adapter 2.0.0.0 执行测试已启动 从 C:\Users\kkkkkk\Documents\Visual Studio 2015\Projects\testsite\testsite\bin\Debug\testsite.dll 加载测试 运行 开始:C:\Users\kkkkkk\Documents\Visual Studio 2015\Projects\testsite\testsite\bin\Debug\testsite.dll NUnit VS Adapter 2.0.0.0 执行测试已完成

========== 运行 测试完成:1 运行 (0:00:06.5556584) ==========

白色它应该打开 chrome 浏览器,访问 url 然后退出 chrome,这根本没有发生。我再次重新测试它,结果相同,只是这次它在测试浏览器 window 中说测试失败了,仅此而已,当我单击失败测试下方的测试站点时(仍在测试浏览器中 window) 我收到以下消息:

测试名称:testingsite 测试全名:testsite.firsttest.testtingsite 测试来源:c:\users\kkkkkk\documents\visual studio 2015\Projects\testsite\testsite\UnitTest1.cs:第 34 行 测试结果:失败 测试时长:0:00:00.1350487

结果堆栈跟踪:
à OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl) dans c:\Projects\webdriver\dotnet\src\webdriver\DriverService.cs:ligne 243 à OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService() 和 c:\Projects\webdriver\dotnet\src\webdriver\Chrome\ChromeDriverService.cs:ligne 146 à OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options) dans c:\Projects\webdriver\dotnet\src\webdriver\Chrome\ChromeDriver.cs:ligne 80 à OpenQA.Selenium.Chrome.ChromeDriver..ctor() 和 c:\Projects\webdriver\dotnet\src\webdriver\Chrome\ChromeDriver.cs:ligne 71 à testsite.firsttest.setup() 和 c:\users\kkkkkk\documents\visual studio 2015\Projects\testsite\testsite\UnitTest1.cs:ligne 19 结果消息:初始化方法 testsite.firsttest.setup 抛出异常。 OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException: 当前目录或 PATH 环境变量上的目录中不存在 chromedriver.exe 文件。可以在 http://chromedriver.storage.googleapis.com/index.html..

下载驱动程序

好的,这就是消息,关于如何解决问题的任何想法我真的需要帮助 );

modification_1 所以我修改了代码(感谢@Leon)我在 string url = "http://..."; 正下方添加了以下 string DRIVER_PATH = @"C:\Projects\webdriver\dotnet\src\webdriver\chrome\chromedriver";[TestClass] 并且还像这样添加 DRIVER_PATH driver = new ChromeDriver(DRIVER_PATH);[TestInitialize] 但它仍然没有 运行 宁 chrome 浏览器!!?

您需要下载 chrome 驱动程序。

chrome driver link

string DRIVER_PATH = @"C:\...\chromedriver";

IWebDriver driver = new ChromeDriver(DRIVER_PATH);
driver.Navigate().GoToUrl(url);

所以问题就像@leon 在 chromedriver 中提到的那样,但是虽然我使用了他的路径方法(在 modification_1 中描述)它没有用,但实际起作用并解决了我的问题(没有更改第一个代码,在 mofication_1) 之前是从 visual studio 2015 开始安装 selenium chromedriver,我转到参考文献 >> 右键单击​​ >> 去管理 Nuget 包 >> 然后在中输入 selenium chromedriver搜索栏和繁荣我所要做的就是点击安装,需要互联网连接。如果您看不到 nuget 管理包,那么您需要 download 并安装它,然后重新启动 visual studio 才能看到它。

只需根据您的浏览器规范添加驱动程序参考,例如 chromedriver、edgedriver。请注意 "not mention any driver path".

namespace UnitTestProject3
{
    public class UnitTest1
    {
        IWebDriver wb;
        String url = "http://www.yahoo.com";

        [Fact]
        public void TestMethod1()
        {
            wb = new ChromeDriver();
            wb.Navigate().GoToUrl(url);
        }
    }
}