2012-05-18 61 views
10

tôi nhận được báo lỗi khi tôi cố gắng chạy thử nghiệm của tôi trong Chrome: Phương pháp
Selenium.WebDriver - Tôi nhận được lỗi khi tôi cố gắng chạy thử nghiệm của tôi trong Chrome

Khởi AutomationUsingSelenium.SmuladorChrome.MyTestInitialize ném ngoại lệ. OpenQA.Selenium.DriverServiceNotFoundException: OpenQA.Selenium.DriverServiceNotFoundException

Nguyên nhân là gì?

+0

Bạn đã thử cung cấp đường dẫn mạ crôm? –

+0

Có, nhưng không hoạt động: 'System.Environment.SetEnvironmentVariable (" webdriver.chrome.driver "," C: \\ .. \\ Drivers \\ chromedriver.exe "); Ổ IWebDriver = new ChromeDriver(); ' –

+0

Bạn có thể thử tùy chọn thứ hai được đề cập trong http://nackoverflow.com/questions/10650360/seleniumwebdrivererrorwebdrivererror/10654738#10654738 –

Trả lời

11

Cuối cùng tôi giải quyết được vấn đề của mình.

1) tôi sao chép chromedriver.exe trong Chrom thư mục link, nhưng bạn có thể đặt ở bất kỳ thư mục, tôi quyết định đặt ở đây.

2) Tôi Khởi tạo một thể hiện mới của lớp ChromeDriver bằng cách sử dụng quy định // đường dẫn đến thư mục chứa ChromeDriver.exe

Mã của tôi:

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

Và nó chỉ hoạt động hoàn hảo. Cảm ơn tất cả.

0

Đây là lỗi tôi thấy: OpenQA.Selenium.DriverServiceNotFoundException: Các tập tin chromedriver.exe không tồn tại trong thư mục hiện hành hoặc trong một thư mục trên các biến môi trường PATH.

Tôi giải quyết vấn đề này bằng cách chỉ định đối số 'testsettings' trong lệnh để chạy các kiểm tra đơn vị.

Ví dụ:

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 

Tôi sử dụng "/testsettings:......\Local.Testsettings" vì tệp Local.testsettings cao hơn cấp độ mà tôi đang thực hiện lệnh này. Bạn nên thay đổi nó cho phù hợp.

Đây là lệnh được sử dụng trong tập tin 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> 
+1

Tôi không tìm thấy câu trả lời này hữu ích bởi vì bạn không đưa ra lời giải thích về những gì đang được khắc phục hoặc cách tạo tệp kiểm tra. Sau nhiều nghiên cứu, tôi đã xác định rằng tệp kiểm tra phải có "Bật triển khai" bị vô hiệu hóa, yêu cầu chuyển đổi cài đặt đó trong Giao diện người dùng cài đặt thử nghiệm. Vấn đề cơ bản là trong quá trình triển khai, MSTest chỉ sao chép dll, cấu hình nhưng không phải của exe. –

5

Cho phép giả định chromedriver.exe hiện diện trong đường dẫn dưới đây: G:\Selenium_Csharp\Jar\chromedriver_win32\chromedriver.exe

Để thực hiện thử nghiệm của bạn trong Chrome thiết lập đường dẫn đến thư mục/thư mục chứa chromedriver.exe mà không chọn chromedriver.exe tên tệp.

driver = new ChromeDriver("G:\\Selenium_Csharp\\Jar\\chromedriver_win32"); 

driver.Url ="http://www.gmail.com"; 
driver.Manage().Window.Maximize(); 

HOẶC

driver = new ChromeDriver(@"G:\Selenium_Csharp\\Jar\\chromedriver_win32"); 

driver.Url ="http://www.gmail.com"; 
driver.Manage().Window.Maximize(); 
1

Install Selenium.Chrome.WebDriver NuGet gói cho dự án và bạn sẽ không nhận được lỗi một lần nữa.

Trong Visual Studio, nhấp chuột phải vào Dự án, nhấp vào Quản lý gói NuGet ..., Tìm kiếm Selenium.Chrome.WebDriver và nhấp vào cài đặt.

Thưởng thức Selenium.

Các vấn đề liên quan