2011-03-18 6 views
2

Selenium 2.0 웹 드라이버를 사용하여 페이지에 로그인하고 있습니다. 다음 코드는 Firefox webdriver와 잘 작동하며, 필드를 찾고 채우고 버튼을 클릭합니다.Selenium 2.0 & IE9

driver.FindElement(By.Id("UserName")).SendKeys("name"); 
driver.FindElement(By.Id("Password")).SendKeys("test"); 
driver.FindElement(By.Id("btnLogin")).Click(); 

그러나 인터넷 익스플로러 webdriver를 사용할 때마다 id == UserName 인 요소를 찾을 수 없다고합니다. 필자는 By.Name과 By.Xpath를 유효한 입력으로 사용하려고 시도했지만 여전히 요소를 찾을 수 없다는 동일한 오류가 발생합니다. 나는 호환성 문제 일 수 있다는 것을 알고 있기 때문에 IE 9를 사용하고 있습니다. 그러나 알려진 문제가 있음을 알리는 게시물이나 정보를 찾지 못하는 것 같습니다.

다른 사람이 동일한 문제를 겪고 있는지 또는 내 문제를 일으키는 올바르게 수행하고 있지 않은 것이 있는지보고 싶었습니다. 또한 C# .NET 프로젝트입니다.

- 편집 -

은 분명히이 IE9의 문제, 나는 9를 제거하고 8 및 테스트 작업에 다시 갔다. 나는 아직도 이런 일이 일어나는 이유가 있는지, 또는 해결 방법이 있는지 찾아내는 사람이 있는지 알고 싶어합니다.

답변

2

셀레늄 (2.0b2)의 현재 버전은 IE9를 지원하지 않습니다, 그러나 2.0b3는 곧 출시하고 지원해야한다 IE9과 파이어 폭스 4

+1

2.0b3는 IE9과 파이어 폭스 4에 대한 지원을 오늘 발표되었습니다 : http://seleniumhq.wordpress.com/2011/03/21/selenium-2-0b3-the-next 그것은 부모의 -gen-browser-release / –

0

모두이 answer 또한 '클릭을 얻는 사람이 경험하는 문제에 대한 관련 될 수 'IE9로 발사.

이에 대한 해결 방법은 브라우저가 포커스를받을 수 있도록, 예를 링크를 클릭하기 전에, 페이지의 다른 요소에 .Click()를 보내는 것입니다

driver.FindElement(By.Id("Logout")).FindElement(By.XPath("..")).Click(); 
driver.FindElement(By.Id("Logout")).Click();