0

我遇到了WebDriver和IE8的一個古怪的問題,我很好奇,如果其他人以前見過這個。簡而言之,我有一個測試,它跨越一組輸入字段,輸入文本,然後點擊一個提交按鈕(其中沒有一個是在<form>中。)它在Firefox 3.6中非常有效,如下所示:Selenium 2 C#Webdriver - 爲什麼我不能在IE8中從一個輸入移動到另一個輸入?

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沒有失敗,出現任何「找不到元素」的錯誤,而其他元素I'點擊工作正常。實際上,Selenium能夠在這個列表中找到第一個字段,並將所有三個Find的所有文本轉儲到該字段中。

所以,後來我改變了代碼只要稍微,就像這樣:

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編寫特殊代碼,只是爲每個數據項添加標籤?

謝謝, Greg。

回答

0

實際上,這個問題似乎是IE8和被測試應用程序之間的兼容性問題(或編碼錯誤)。我仍然把它整理出來,很快就會有更多的細節,但現在,這個問題似乎回答了。

對不起,混亂的小河...... [尷尬]

相關問題