2013-03-04 3 views
4

안녕 난원격 Webdriver 크롬은 오류

IWebDriver _webDriver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), 
       DesiredCapabilities.Chrome()); 

내가 follwing을 오류를 얻을 다음 코드를 사용하여 "드라이버 실행 파일의 경로"는 던졌습니다

System.InvalidOperationException : 드라이버의 경로 실행 파일은 webdriver.chrome.driver 시스템 속성으로 설정해야합니다. 자세한 내용은 http://code.google.com/p/selenium/wiki/ChromeDriver을 참조하십시오. 최신 버전은 http://code.google.com/p/chromedriver/downloads/list 에서 다운로드 할 수 있습니다. TearDown : System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. OpenQA.Selenium.Remote.RemoteWebDriver..ctor에서 OpenQA.Selenium.Remote.RemoteWebDriver.Execute (문자열 driverCommandToExecute, Dictionary`2 매개 변수) 에서 OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError (응답 errorResponse) (ICommandExecutor commandExecutor에서 Browser.cs에 Testframework.Browser.RemoteGoto (문자열 브라우저 문자열 URL)에서, ICapabilities desiredCapabilities) : 라인 Testframework.CommonAction.RemoteBrowser (문자열 브라우저) CommonAction.cs에서 86 : Test.RegistrationTest.InvalidRegistrationTest에서 라인 (70) RegistrationTest.cs의 문자열 브라우저, 문자열 사용자 이름, 문자열 암호, 문자열 confirmPassword, 문자열 securityQuestion, 문자열 securityAnswer, 문자열 errorMessageText, 문자열 firstname, 문자열 성) : 줄 50CommonAction.cs에서 Testframework.CommonAction.CaptureScreen (문자열 파일 이름)에서 363,210 --TearDown : Test.RegistrationTest.SnapshotOnFailure() RegistrationTest.cs에서의 라인 (121) : 라인 590 단서가 정말로에

답변

4

오류.

크롬은 테스트가 실행 중이거나 가리키는 시스템에 설치해야합니다.

이 문서를 보면, 단계를 다시 보자 크롬 독특한 장소에 설치되어있는 경우

https://code.google.com/p/selenium/wiki/ChromeDriver

또한, 당신은 위치의에 셀레늄을 가리 키도록해야합니다. 다시 설명하겠습니다. C#에서

:

DesiredCapabilities capabilities = DesiredCapabilities.Chrome(); 
capabilities.SetCapability("chrome.binary", this.binaryLocation); 

나 :

ChromeOptions options = new ChromeOptions(); 
options.BinaryLocation = "pathtogooglechrome"; 
capabilities.SetCapability(ChromeOptions.Capability, options); 
+0

안녕하세요, 저는 Java 예제 만 찾을 수 있습니다. C# q에 해당하는 것을 찾을 수 없기 때문에 원격으로 C# webdriver에서 크롬의 경로를 설정하는 방법을 알려주시겠습니까? –

+0

편집을 보여줍니다. – Arran

+0

감사합니다.이 경로는 options.BinaryLocation = @ ".. \ RequiredFiles \ chromedriver_win_26.0.1383.0 \ chromedriver.exe"로 설정되었습니다. "; 다음 오류가 나타납니다. "드라이버 실행 파일의 경로는 webdriver.chrome.driver 시스템 속성에 의해 설정되어야합니다." –

4

대신 코드를 변경 당신은 라운드 다른 방법이있을 수 있습니다.
크롬 드라이버를 다운로드하고 chromedriver.exe가있는 디렉토리를 가리키는 PATH 환경 변수를 설정합니다.

IDE/명령 콘솔을 다시 시작하고 테스트를 실행하십시오. 그것은 작동합니다!

+0

감사합니다. 환경 변수로 설정하는 것 외에 다른 방법이 있습니다. 나는 또한 콘솔을 시작할 때 chromeriver 경로를 설정하는이 해결책을 발견했다 (java -Dwebdriver.chrome.driver = C : \ example \ chromedriver.exe -jar selenium-server-standalone-2.31.0.jar). 가능한 한이 솔루션을 피하고 코드에 경로를 설정하여 코드가 이동성을 유지하도록하십시오. –

+0

@AnandS 코드를 휴대용으로 유지하려면 드라이버의 위치를 ​​하드 코드하지 않은 것이 좋습니다. 나는 개발 된 테스트가 어떤 머신으로 포팅 될 수 있고 단지 PATH를 설정함으로써 사용될 수 있기 때문에 경로를 설정하는 것을 선호한다. –

+0

감사의 말을 전하며,이 System.Environment.SetEnvironmentVariable ("webdriver.chrome .driver ", @"/ path/to/here/you/ve/put/chromedriver.exe ") chromedriver.exe가 환경 변수를 설정하지 않습니다. –