Селен 2.0 и IE9 - PullRequest
       5

Селен 2.0 и IE9

2 голосов
/ 18 марта 2011

Я использую веб-драйверы Selenium 2.0, чтобы попытаться войти на страницу. Следующий код прекрасно работает с веб-драйвером Firefox, он находит поля, заполняет их и нажимает кнопку.

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

Однако всякий раз, когда я пытаюсь использовать веб-драйвер Internet Explorer, он говорит, что не может найти элемент с id == UserName. Я попытался использовать By.Name и By.Xpath с допустимыми значениями, но я все еще получаю ту же ошибку, говоря, что не могу найти элемент. Я использую IE 9, поэтому я знаю, что это может быть проблема совместимости, однако я не могу найти ни сообщений, ни сведений о том, что существует известная проблема.

Я просто хотел узнать, не сталкивался ли кто-то еще с той же проблемой, или есть что-то, что я не правильно делаю, что вызывает мою проблему. Кроме того, это проект на C # .NET.

- Правка -

Видимо, это проблема IE9, я удалил 9 и вернулся к 8, и тест работает. Мне все еще интересно узнать, узнает ли кто-нибудь, почему это происходит, или если есть обходной путь.

Ответы [ 2 ]

2 голосов
/ 19 марта 2011

Текущий выпуск Selenium (2.0b2) не поддерживает IE9, однако 2.0b3 должен быть выпущен в ближайшее время и поддерживает как IE9, так и Firefox 4.

0 голосов
/ 19 января 2012

Этот ответ также может быть актуален для тех, кто испытывает проблемы, возникающие при использовании «кликов» в IE9.

Обходной путь для этого - отправить .Click () наеще один элемент на странице, так что браузер получает фокус, прежде чем пытаться щелкнуть ссылку, например, его родитель:

driver.FindElement(By.Id("Logout")).FindElement(By.XPath("..")).Click();
driver.FindElement(By.Id("Logout")).Click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...