2016-08-01 69 views
2

如果按鈕中的跨度文本是「Vigente」,則需要使用expect和Jasmine進行檢查。我該怎麼做?使用量角器獲得跨度中的文本

<button _ngcontent-hke-28="" class="btn btn-success disabled" tabindex="-1"> 
<span _ngcontent-hke-28="" class="glyphicon glyphicon-check"> 
</span> Vigente</button> 

我可以使用XPath這樣的:

/HTML /體/應用/ AUTH-容器/佈局/ DIV /主要內容/ DIV /諾瑪 - cadastro/DIV /表格/ DIV [8]/DIV /按鍵/文本(Vigente)

回答

2

首先,你問的是XPath表達式是不正確的 - 不需要括號內Vigente部分。此外,儘量不要使用絕對XPath表達式作爲您擁有的路徑中的更多級別,這會導致破壞的可能性更高。並且,XPaths are not recommended by the Protractor team

相反,我會找到的元素by partial button text,並檢查該元素的存在:

expect(element(by.partialButtonText("Vigente")).isPresent()).toBe(true); 

或者,您可以通過,比如說定位元素,CSS選擇器和獲取文本:

expect($("button.btn-success").getText()).toContain(Vigente); 

button.btn-success CSS選擇器雖然相當廣泛,看看你是否可以改善它。

+0

如果我有文字 「Vigênciainvalida」 的按鈕。 我想用 'expect(element(by.partialButtonText(「Vigênciainvalida」))。isPresent()).BeBe(true);' 但它不起作用 – paulotarcio

+0

@paulotarcio好嗎,你確定領先空間需要嗎?謝謝。 – alecxe

+0

我嘗試沒有領先的空間和leaging空間,都沒有工作 – paulotarcio

0

不能說它是否正確..但您可以在Chrome開發工具中自行檢查它。只要檢查元素上的元素。然後右鍵單擊HTML中的元素並單擊複製。如果可以,我會建議使用ID或角度模型。 XPath會隨着HTML的變化而變化(除非您在XPath中使用ID),然後維護測試成爲一項任務。

查看照片。

enter image description here

+0

我無法使用model或id,因爲develepors沒有使用習慣它。這就是爲什麼我使用xpath – paulotarcio

相關問題