2

Ruby와 함께 Selenium WebDriver를 사용 중이며 IE8에서 테스트 할 스크립트를 만들려고합니다. Internet Explorer 8 모드에서 iedriver를 시작하는 방법이나 webdriver가 시작된 후 Internet Explorer 8로 전환하는 방법에 대한 답변을 찾을 수 없습니다. 나는 Windows 7에서만 IE9를 사용할 수 있습니다. IE9에서 웹 드라이브를 시작하기 위해 현재 사용하고있는 코드는Ruby에서 Selenium WebDriver를 사용하여 IE9를 IE8로 변경하십시오.

$driver = Selenium::WebDriver.for :ie 

입니다. 도움을 주시면 대단히 감사하겠습니다. 나는 높고 낮게 보였지만이 질문에 대한 어떤 종류의 대답도 찾을 수 없습니다. 나에게 추가적인 정보가 필요한 경우 나는 그것을 기꺼이 제공 할 것이다. 고맙습니다. 당신은 실행 시간 동안 IE 버전을 말하고 싶은 경우

+0

WebDriver를 사용하여 IE8로 변경하기보다는 IE8로 다운 그레이드하는 것이 더 쉽습니다. http://windows.microsoft.com/ko-KR/windows7/how-do-i-y-install-or-uninstall-internet-explorer-9 – nmunson

+0

감사합니다.이 기능이 나를 위해 작동하는지 확인해 드리겠습니다. 나는 여전히 IE9에서 테스트 할 필요가있다. 만약 IE9에서 테스트를해야 할 필요가 있다면 8로 내려가는 것이 필요하다. 이것은 만족스럽지 못한 해결책이다. 또한 IE를 설치할 때 어떤 버전의 IE를 설치해야 하는지를 알아야합니다. –

+0

Internet Explorer 8은 Windows 7과 호환되지 않습니다. IE8 모드에서 IE9와 함께 webdriver를 사용하는 방법을 찾아야합니다. –

답변

6

, 당신은 더 많은 정보에 대한 DesiredCapabilities 사용이 링크 http://code.google.com/p/selenium/wiki/DesiredCapabilities를 들어 DesiredCapabilities.

DesiredCapabilities ieCapabilities = null; 
    ieCapabilities = DesiredCapabilities.internetExplorer(); 
    ieCapabilities.setBrowserName("internet explorer"); 
    ieCapabilities.setVersion("Version Number"); 
    driver = new InternetExplorerDriver(ieCapabilities); 

를 사용할 수 있습니다.

의견에서 나는 IE 8과 9가 모두 필요하다고 말했습니다. 실제로는 불가능합니다. Windows는 현재 하나의 IE 버전 만 상자에 설치하도록 지원합니다. IEDriver는 설치된 IE 버전을 사용하여 실행했습니다.

여러 버전의 IE를 사용하여 테스트하려면 Windows Virtual Machines과 함께 사용하는 것이 더 좋습니다. RemoteWebdriver 인스턴스를 사용하여 가상 컴퓨터와 대화 할 수 있습니다.

1

실제로 이것은 현재 Selenium WebDriver에서 지원되지 않습니다. 현재 Manigandan의 의견에서 언급 한 DesiredCapabilities 기능의 일부로 구현되는 IE 모드에 대한 개선 요청이 있습니다.

현재이 개선 요청 따를 수

: 강화 요청에 대해 언급 http://code.google.com/p/selenium/issues/detail?id=2564

다른 가능한 솔루션은 FEATURE_BROWSER_EMULATION 레지스트리 키 (http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx 참조) 조작 또는 키보드 개발자 도구를 엽니 다 명령을 사용하여 거기에서 모드를 선택하면됩니다 (파이썬의 해결 방법으로 WebDriver 객체를 Selenium 1.0 객체로 캐스팅해야하므로이 솔루션이 얼마나 효과가 있을지 잘 모르겠습니다.

+9

나는이 강화 요청에 강력히 반대한다. 나는 그것이 결함이 있다고 믿고, 구현은 IE 드라이버에 적절하지 않다. 지침 원칙은 다음과 같습니다. IE 드라이버는 레지스트리에서 변경을 시도해서는 안되며, IE에서 이후의 모든 인스턴스화를 컴퓨터에 적용해야하기 때문입니다. IE 드라이버가 여러 IE 인스턴스를 구동 할 희망이 있다면 기존 값을 캐싱하고 복원하는 것조차 위험합니다. 낮의 빛을 보는이 향상 요청의 가능성은 희박합니다. – JimEvans