检查字段标签是可见的,并包含量角器

时间:2016-01-28 10:12:18

标签: angularjs unit-testing protractor

我试图验证某些字段标签是否可见。即ID,日期,金额+说明。

我如何检查每个< dt>在一个< dl>

包含在以下< dl>元素与css类rec-details。

<dl class="dl-horizontal rec-details"> 
<dt> Id </dt> 
<dd class="ng-binding"> 1 </dd> 

<dt> Date </dt> 
<dd class="ng-binding"> 28/01/2015 </dd> 

<dt> Amount (£) </dt> 
<dd class="ng-binding"> -7.24 </dd> 

<dt> Description  </dt> 
<dd class="ng-binding"> 12345 </dd> 

所以基本上我只需要在元素内(使用css类rec-details)检查ID,Date,Amount + Description是否存在?

如何用量角器做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

在您的情况下,以下情况应该有效。

var recDetails = element(by.css('.rec-details'));
var data = recDetails.all(by.css('dd'));
var id = data.get(0).getText().then(function(idText) {
  return parseInt(idText);
});
expect(id).toBe(1);

//similar for other data elements

但是如果您有权访问源代码,我会为每个绑定添加css-class。例如:

<dd class=".rec-details-id ng-binding"> 1 </dd>

所以现在你不必依赖数据顺序,可以选择这样的元素:

var recDetails = element(by.css('.rec-details'));
var id = recDetails.element(by.css('.rec-details-id'))
                   .getText().then(function(idText) {
                     return parseInt(idText);
                   });