Selenium 2 C # Webdriver - Почему я не могу перейти с одного входа на другой в IE8? - PullRequest
0 голосов
/ 24 мая 2011

Я столкнулся со странной проблемой с WebDriver и IE8, и мне любопытно, видел ли кто-нибудь еще это раньше.В двух словах, у меня есть тест, который переходит через набор полей ввода, вводит текст, а затем нажимает кнопку «Отправить» (ни одной из которых нет в <form>.). В Firefox 3.6 он работает фантастически, например:

Driver.FindElement(By.XPath(domainXpath)).SendKeys("someDomain");
Driver.FindElement(By.XPath(emailXpath)).SendKeys("someEmailAddress");
Driver.FindElement(By.XPath(passwordXpath)).Sendkeys("somePassword");

Но когда я запускаю это в IE8, Selenium, кажется, никогда не меняет поля, даже если кажется, что он правильно находит их через указанный XPath.

Сначала я подумал, что это может быть проблемой с xpath-ing (я видел других с похожими проблемами), но мой SendKeys не завершается с ошибками «элемент не найден» и другими элементамиЯ нажимаю на работают нормально.Фактически, Selenium может найти первое поле в этом списке и выгружает весь текст всех трех Находок в это поле.

Итак, я немного изменил код, например:

Driver.FindElement(By.XPath(domainXpath)).SendKeys("someDomain\t");
Driver.FindElement(By.XPath(emailXpath)).SendKeys("someEmailAddress\t");
Driver.FindElement(By.XPath(passwordXpath)).Sendkeys("somePassword\t");

... и, вуаля, текст был введен правильно.

Как будто IE игнорирует запрос Selenium на переход к следующему полю, несмотря на то, что поле сообщает об этом.

Кто-нибудь испытывал это раньше?Есть ли способ избежать написания специального кода для IE, просто добавлять вкладки к каждому элементу данных?

Спасибо, Грег.

1 Ответ

0 голосов
/ 24 мая 2011

На самом деле эта проблема является проблемой совместимости (или ошибки кодирования) между IE8 и тестируемым приложением.Я все еще разбираюсь с этим, и вскоре у меня будет больше подробностей, но сейчас вопрос, похоже, получен.

Извините за загромождение потока ... [смущенно]

...