2017-09-26 70 views
1

我的問題是,有一些幫助文本的工具提示。當鼠標移過工具提示時,會出現一些幫助文字,如圖所示。在之前的迭代中,我使用下面的代碼來驗證完美工作的文本。但是現在它在網頁的新版本中不再適用了。機器人框架 - 從鼠標指針驗證文本

感謝您的支持

${helpText} set Variable (Optional) Please enter any additional information about this sample 
Mouse over ${Tooltip} 
Wait Until Page Contains ${helpText} 5s 

enter image description here

<a href="#" data-toggle="tooltip" title="(Optional) Please enter any additional information about this sample"> 
              <i class="fa fa-question-circle" aria-hidden="true"></i></a> 

UPDATE

我其實能夠驗證在某些情況下,提示意見,卻發現提示屬性是不是「標題」,而是「數據原始標題」。當HTML代碼是這樣寫下面的測試通過:

<a href="#" data-toggle="tooltip" title="" data-original-title="(Required) Please enter the legal first name"> 
     <i class="fa fa-question-circle" aria-hidden="true"></i> 
     </a> 

不同的是,當標題屬性是直接的像我的第一個例子,測試失敗。但在使用data-original-title屬性的情況下,測試通過。

+0

「不再工作」是什麼意思?你有錯誤嗎? –

+0

那麼,我已經使用相同的代碼爲早期版本的網站,我可以使用「等到頁面包含」關鍵字在該網站上成功驗證它。但它不適用於該網站的新版本 – nhrcpt

+0

那麼,它是否超時?拋出一個錯誤?即使它不在那裏,也能找到文本? ...只是說「它曾經工作,但現在沒有」不是很有用。我們需要具體瞭解新行爲是什麼。 –

回答

4

正如你可以從附加的HTML源文件中看到的那樣,工具提示文本通常在元素的title屬性中(在一個更花哨的UI框架中它可能在一個單獨的元素中 - 允許格式化等,這通過js在鼠標懸停;但這不是這種情況)。

所以爲了驗證它,你應該得到屬性值並進行比較;例如:

${locator}=  Set Variable xpath=//a[@data-toggle="tooltip"] # this is NOT a good locator - but can't think of a better one with the provided source 
${the tooltip}= Get Element Attribute ${locator}@title # after the @ you specify the name of the target attribute - title in this case 

Should Contain ${the tooltip}  (Optional) Please enter # any text validation you need happens here 
+0

謝謝。我現在確實在做,這證明文本符合要求。但是我需要做一些事情來驗證,當鼠標移到工具提示上時,文本實際上是可見的。 – nhrcpt

+1

@nhrcpt:你需要測試一下嗎?我認爲這是一個合理的假設,如果你使用標準的元素屬性,瀏覽器將做它設計要做的事情。當然,如果你有自己的自定義JavaScript,導致工具提示出現,那麼這是值得測試的東西。 –

+2

如果工具提示位於標題屬性中,則必須跳過相當多的環節*而不是*來顯示它 - [像這樣](https://stackoverflow.com/questions/15364063/is-it-possible-to-隱藏-的標題,從-A-鏈接與-CSS)。如果是這樣,這顯然是一個有意的決定/要求,超出了範圍「如何驗證工具提示文本是這樣」 - 更多的是在「沒有工具提示應該顯示」的領域。 – Todor