2015-11-29 58 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); 
     } 
    } 
} 
相關問題