2016-06-15 2 views
1

Selenium을 사용하여 단위 테스트를 작성했습니다. Unit 테스트 클래스에는 몇 가지 (작동중인) Unit 테스트가 있습니다. 생성자는 다음과 같습니다 : 나는 테스트 Exporer 모두를 사용하여 해당 테스트 클래스 내부의 UnitTests 중 하나를 실행하면 잘 작동주문 테스트를 사용하는 경우 ChromeDriver를 찾을 수 없습니다.

private IWebDriver _chrome; 
public SeleniumTest() 
    { 
    _chrome = new ChromeDriver(); 
    } 

.

하지만 난 ChromeDriver 시작하려고 할 때 나는 오류가 같은 단위 테스트가 포함 된 주문 테스트를 만들 때 :

OpenQA.Selenium.DriverServiceNotFoundException was unhandled by user code 
    HResult=-2146233088 
    Message=The chromedriver.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at http://chromedriver.storage.googleapis.com/index.html. 
    Source=WebDriver 
    StackTrace: 
     bei OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl) 
     bei OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService() 
     bei OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options) 
     bei OpenQA.Selenium.Chrome.ChromeDriver..ctor() 
     bei MyTest.SeleniumTest..ctor() in C:\dev\myTest\SeleniumTest.cs:Zeile 27. 

내가 셀레늄 (그리고 크롬)을 추가하는 프로젝트

에 NuGet을 사용하여

업데이트 : chromedriver.exe가 프로젝트의 BIN 디렉토리에 있습니다.

답변

2

문제는 정렬 된 테스트가 자신의 디렉토리를 만들고 거기에서 코드를 실행한다는 것입니다. 그들은 다음과 같이 :

C : \ dev에 \을 myApp \ MYTEST \ TestResults \ 아웃

그리고이 디렉토리 안에 더 chromedriver.exe

이없는의 MachineName 2016년 6월 15일 \ 15_26_39

나는 이것을 DeploymentItem - 속성을 사용하여 해결했습니다. 이 속성은 클래스의 인스턴스를 만들기 전에 bin 디렉토리에서 Out 디렉토리로 파일을 복사합니다. 그래서 클래스 속성은 다음과 같이보고 다음 orderedTest 실행 그 후

[TestClass] 
[DeploymentItem("chromedriver.exe")] 

를 오류

내가 알고
+0

이제 작동합니다. 그리고 다른 패키지에도 사용할 수 있습니다. 예를 들어, AutoIt을 사용하여 Windows 기반 로그인 (표준 .htaccess 만 사용하지 않는 웹 페이지 로그인)을 처리하고 "AutoItX3.dll"을 DeploymentItem으로 추가하여 트릭을 수행합니다. 하지만 솔루션을 자주 청소하고 다시 만들어야합니다. –

0

chromedriver 실행 파일을 찾을 수 없습니다.

chromedriver.exe 파일이 현재 디렉토리 나 PATH 환경 변수의 디렉토리에 존재하지 않습니다는 execption 메시지에서 말한대로 당신은 당신의 PATH 환경 변수에 chromedriver.exe의 경로를 추가해야 . 드라이버는 http://chromedriver.storage.googleapis.com/index.html에서 다운로드 할 수 있습니다.

+0

없이. 그런데 같은 프로젝트에서 Unit Test를 직접 실행하면 왜 이런 일이 발생하지 않습니까? –

+0

@OleAlbers 나는 그것에 대한 답변을 얻으려는 Visual Studio에 대해 거의 알지 못합니다. – RemcoW

관련 문제