2016-09-21 72 views
0

我的問題的背景信息:
我在FitNesse工作,通常我可以使用CSS選擇器來查找和驗證我想要的元素。但是,在這種情況下,我需要通過XPath檢查@title屬性,並且遇到問題。XPath - 驗證@title的內容

我FitNesse的情形是這樣的:

| ensure | do | verifyText | on | !-xpath statement to the @title attribute here-! | with | @the_title_I_expect

這意味着,我需要找到一個XPath的@title元素進行驗證,沒有在我的XPath表達式內容@title。

有人可以幫我嗎?

例子:

<th id="scollTable.titleRow.column2" title="**This is my title**" colspan="1" scope="col" class="detailTableHeader">Some text here I don't care about</th> 

我想檢查的文本「這是我的標題」的有效性。 任何指針?提前致謝!

+0

'//*[@id="scollTable.titleRow.column2「and @ title =」This is my title「]' – splash58

+0

感謝您的評論。我知道'和'加法,但我想單獨驗證我的@title的內容。意思是,當我想檢查'th'的內容時,我可能會檢查// * [@ id =「scollTable.titleRow.column2」]/text() - >我想要做同樣的事情標題;參考它,並檢查文本與我所期望的一樣。除了使用'和'還有其他的方法嗎? – cin

+0

'// * [@標題=「這是我的標題」]' – splash58

回答

1

您正在使用Xebium?我相信他們(實際上是他們使用的Selenium 1 API)有一個命令verifyAttribute,您可以使用它來檢查屬性而不是元素的文本。 (快速谷歌給了我this example page。)

所以我相信你的行會變成:

| ensure | do | verifyAttribute | on | xpath=//th[@id='scollTable.titleRow.column2']@title| with | !-**This is my title**-!|

附:我對Xebium不是很熟悉,但我相信你可以將這樣一行代碼改寫爲check而不是ensure,這樣測試報告會在測試失敗時顯示實際標題,而不是僅報告「失敗」。

+0

驚人的......它的工作原理..不能相信解決方案是如此簡單...我重寫它'檢查是'而不是'確保',但我的測試現在正在返回結果。非常感謝,你真的是一個很好的幫助。@ splash58,感謝你的時間和精力,並再次道歉,不要問正確的問題馬上! – cin