Я столкнулся со странной проблемой с 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, просто добавлять вкладки к каждому элементу данных?
Спасибо, Грег.