2016-12-27 80 views
0

如何處理這種類型的彈出窗口。我的目標是點擊「提交」按鈕後再獲取消息,然後再次驗證我自己的文本(可能使用斷言)。我試圖找到使用firepath(xpath)的元素,但是當我點擊螢火蟲上的定位元素按鈕時,彈出消失。Selenium WebDriver(Java):處理字段驗證消息

這裏是彈出的屏幕截圖。

popUp

下面是代碼:

<p class="errors"></p> 
<input id="email" class="form-control" type="email" value="" name="email" required="" oninput="setCustomValidity('')" oninvalid="this.setCustomValidity('Email Cannot Be Empty')" placeholder="Email *" data-placeholder="X" data-format=""> 

預先感謝您。

+0

爲網站提供 –

+0

吉里什嗨的URL,我不能提供的網址,因爲應用程序仍然是對地方發展服務器。謝謝 –

回答

0

如果元素不是iframe裏面,那麼你可以直接嘗試如下:

String emailId = driver.findElement(By.id("email")).getText() 
// write string equals login here comparing emailId that is captured and the one you want to compare to. 

如果不是,先找到iframe並切換到它,然後用上面的代碼中找到的元素。有關切換B/W幀的更詳細的答案是here


發現在彈出的元素:而不是點擊(的螢火蟲)的Locate Element按鈕第

,右擊您想要在彈出窗口中找到的元素,並選擇Inspect with Firebug,它爲該元素提供相應的HTML代碼。

+0

嗨Naveen,我的目標是從彈出的文本中獲取文本,並重新驗證自己的文本以確保該字段的驗證正常。據我所知,代碼上沒有iframe。謝謝。 –

+0

已更新的代碼。使用'getText'方法檢索web元素的文本。一旦存儲在一個字符串中,它只是使用Jaa庫進行字符串比較。如果你正在使用任何框架,你可以將它作爲實際值傳遞給斷言方法,如'assertEqual(actual,expected)'等。 –

+0

感謝您的回覆。我得到關於Web元素,asserting和getText的東西,當我點擊提交按鈕時,我得到警告消息的問題,因爲如果我做任何事件(甚至滾動頁面)它將消失。所以,當司機試圖捕捉消息時,它已經消失了。 –

0

從scrrenshot它看起來像一個工具提示。就像我們在https://www.google.co.in/中將鼠標懸停在Google標題上一樣。

要驗證工具提示,我們可以獲取屬性「標題」並驗證。例如:https://www.google.co.in/。 tooltip被放置在title屬性中,如下所示。

標題= 「谷歌」

<div id="hplogo" style="background-size:272px 92px;height:92px;width:272px" title="Google" onload="window.lol&&lol()" align="left"> 

對於您的情況,所顯示的提示信息是 'oninvalid' 屬性如下可用。所以得到這個屬性值並驗證它。

oninvalid =「this.setCustomValidity(‘電子郵件不能爲空’)」

+0

嗨Giri,它不是一個工具提示,當提交按鈕點擊時它的警告消息,然後應用程序將驗證每個字段,它的空或不。當字段爲空時,此消息顯示在字段的頂部。 –

相關問題