2015-11-29 49 views
0

我刚开始使用visual studio 2015 & c#语言,所以我是一个完整的新手。反正我是想在vs2015写硒(参考)网络测试项目和前几个教程是比较容易理解的,这就是我的了:visual studio 2015中的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 \ kkkkk \ 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,这根本不会发生。我再次用相同的结果再次测试它,只是这次它在测试浏览器窗口中说测试失败了,就是这样,当我点击失败测试下方的测试点时(仍然在测试浏览器窗口中),我得到以下消息:

测试名称:testtingsite 测试真实姓名:testsite.firsttest.testtingsite 测试来源:C:\用户\ KKKKKK \文件\的Visual Studio 2015年\项目\测试网站\测试网站\的UnitTest1.cs:行34 测试结果:失败 测试时间:0:00:00.1350487

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

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

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

+0

你谷歌的错误? – JeffC

+0

@JeffC我做了,但没有多少运气,你有任何想法可以帮助? – roni1800

回答

1

所以这个问题就像@leon在chromedriver提到这个问题,但尽管我用他的路径方法(在modification_1描述)没有工作,究竟做了工作,解决了我问题(没有改变第一个代码,在mofication_1之前)是从Visual Studio 2015安装Selenium chromedriver,我去参考>>右键点击>>去管理Nuget包>>然后在搜索栏中输入selenium chromedriver,繁荣我所要做的是点击安装,互联网连接是必需的。如果你看不到nuget管理包,那么你需要download并安装它,然后重新启动visual studio来查看它。

1

您需要下载chrome驱动程序。

chrome driver link

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

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

我刚刚试了一下,现在我得到的错误列表如下: 错误\t CS0236 \t一个字段初始不能引用非静态字段,方法或属性“firsttest.DRIVER_PATH” \t测试网站\t C:\用户\ KKKKKK \ Documents \ Visual Studio 2015 \ Projects \ testsite \ testsite \ UnitTest1.cs;至少我不会再遇到老问题了。 – roni1800

+0

你需要给驱动程序路径,如果你将它下载到c:\ drivers \ Chromedriver.exe DRIVER_PATH应该看起来像“c:\ drivers \” –

+0

是的我是这样做的路径C:\ Projects \ webdriver \ dotnet \ src \ webdriver \ chrome \ chromedriver但我用chromedriver.exe版本2.19 – roni1800

0

只需按照您的浏览器规范添加驱动程序参考,例如chromedriver,edgedriver。请注意“不提及任何驱动程序路径”。

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

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