使用量角器获得跨度中的文本

使用量角器获得跨度中的文本

问题描述:

如果按钮中的跨度文本是“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)

首先,你问的是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

不能说它是否正确..但您可以在Chrome开发工具中自行检查它。只要检查元素上的元素。然后右键单击HTML中的元素并单击复制。如果可以,我会建议使用ID或角度模型。 XPath会随着HTML的变化而变化(除非您在XPath中使用ID),然后维护测试成为一项任务。

查看照片。

enter image description here

+0

我无法使用model或id,因为develepors没有使用习惯它。这就是为什么我使用xpath – paulotarcio