2013-08-08 2 views
1

나는 Selenium with FireFox를 사용하여 몇 가지 테스트를 수행했다. 이를 위해 나는 FirefoxDriver 사용 :Selenium WebDriver 객체

private FirefoxDriver driver = new FirefoxDriver(): 

이 잘 작동을하지만, 지금은 사용자의 선택에 따라, 브라우저를 전환 할 수 있어야합니다. WebDriver를 유형으로 사용하고 스위치를 사용하여 사용할 브라우저를 결정하기를 희망했습니다.

불행하게도 WebDriver 오류 제공합니다.. WebDriver "기호를 확인할 수 없습니다"를 "나는 찾을 거의 모든 예는 내 프로젝트의 WebDriver.dll에 대한 참조가

비록 WebDriver 유형 스펙을 사용합니다.

+1

속성 파일을 사용하여 브라우저 이름을 지정할 수 있습니다. 지정한 브라우저 이름을 기반으로 드라이버 클래스의 else 블록을 사용하여 지정된 브라우저의 브라우저 객체를 동적으로 만들 수 있습니다. 희망이 환성을 .. – Vinay

+0

WebDriver 가져 왔습니까? 'import org.openqa.selenium.WebDriver;' –

+0

안녕하세요 MrTi, C#을 사용하고 있습니다. 내 환경에서 사용하는 것과 같은 수입입니까? 그렇다면 아니오 : 몇가지 사용법이 있습니다 : OpenQA.Selenium을 사용합니다; OpenQA.Selenium.Chrome; OpenQA.Selenium.Firefox를 사용하여; OpenQA.Selenium.IE를 사용합니다. 하지만 OpenQA.Selenium.WebDriver를 추가하면 위에서 설명한 오류가 발생합니다. 참조가 누락 된 것일 수도 있지만 DLL이 아닌 다른 참조 할 항목을 찾을 수 없습니다. WebDriver.dll, WebDriver.Support.dll, ThoughtWorks.Selenium.Core.dll 및 Selenium.WebdriverBackedSelenium.dll입니다. – Steve

답변

0

다양한 드라이버가 모두 IWebDriver이라는 인터페이스를 구현하지만, 사용자는이 방법을 사용하고 있습니다. FindElementByClassName ...이 RemoteWebDriver에 있습니다. 이걸 버리고 기본으로 사용 하시길 권합니다. .FindElement와 당신이 필요로하는 것을 선택 (By)의 형태로 전달, 주위에 방법이 :

당신이 필요합니다 using에 대한 OpenQA.Selenium.Remote

private RemoteWebDriver driver; 

그런 다음 수행 할 수 있습니다

driver = new FirefoxDriver(); 

또는 ...

driver = new InternetExplorerDriver(); 

당신 것 여전히 기본 FindElementBy... 방법에 액세스 할 수 있습니다.

또한 ThoughtWorks 또는 WebDriverBackedSelenium 라이브러리 은 전혀 필요하지 않다고 말합니다.. 그들을 제거하십시오.

+0

안녕 Arran, 나는 IWebDriver를 사용하여 시도했지만 mij 인스턴스가 그것의 방법을 잃으면 : driver.FindElementByClassName ("name") FindElementByClassName 빨간색으로 바뀌고 내가보고 한 동일한 오류를 보여줍니다 위. – Steve

+0

@ 스티브, 편집 된 게시물을 확인하십시오. 바라기를 분명히합니다. – Arran

+0

Arran! 감사합니다. 그 트릭을 했어! – Steve