2017-04-20 80 views
0

在下面的页面中,我必须验证“test_tracker”是否存在。我相信如何做到这一点。任何人都可以帮忙吗?我想到gngng-repeat但它是零。量角器 - 如何识别元素

element.all(by.repeater("item in 
ct.data.pageContentTypes")).count().then(function (count) { 
      console.log("count value: " + count); 

我还可以走什么路?

verify

代码片断:

<div ng-class="detailsChecked ? 'col-sm-8 col-xs-8 col-md-8 col-lg-8' : 'col-sm-12 col-xs-12 col-md-12 col-lg-12'" class="col-sm-12 col-xs-12 col-md-12 col-lg-12"> 
 
    <!-- ngRepeat: item in ct.data.pageContentTypes --> 
 
    <div class="col-sm-3 col-xs-3 col-md-3 col-lg-3 ng-scope" ng-repeat="item in ct.data.pageContentTypes"> 
 
    <a class="thumbnail" documents-dropzone="" data-category-id="1" ng-click="getContentTypeDetailsByID(item)"> 
 
     <div ng-class="selectedContentTypeId == '1' ? 'thumbnail-cat thumbnail-cat-public' : 'thumbnail-cat thumbnail-cat-private'" class="thumbnail-cat thumbnail-cat-private"> 
 
     <span style="word-break:break-all;" class="ng-binding">CORE</span> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <!-- end ngRepeat: item in ct.data.pageContentTypes --> 
 
    <div class="col-sm-3 col-xs-3 col-md-3 col-lg-3 ng-scope" ng-repeat="item in ct.data.pageContentTypes"> 
 
    <a class="thumbnail" documents-dropzone="" data-category-id="72" ng-click="getContentTypeDetailsByID(item)"> 
 
     <div ng-class="selectedContentTypeId == '72' ? 'thumbnail-cat thumbnail-cat-public' : 'thumbnail-cat thumbnail-cat-private'" class="thumbnail-cat thumbnail-cat-private"> 
 
     <span style="word-break:break-all;" class="ng-binding">march 13 tt</span> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <!-- end ngRepeat: item in ct.data.pageContentTypes --> 
 
    <div class="col-sm-3 col-xs-3 col-md-3 col-lg-3 ng-scope" ng-repeat="item in ct.data.pageContentTypes"> 
 
    <a class="thumbnail" documents-dropzone="" data-category-id="80" ng-click="getContentTypeDetailsByID(item)"> 
 
     <div ng-class="selectedContentTypeId == '80' ? 'thumbnail-cat thumbnail-cat-public' : 'thumbnail-cat thumbnail-cat-private'" class="thumbnail-cat thumbnail-cat-private"> 
 
     <span style="word-break:break-all;" class="ng-binding">NTC NZ MO</span> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <!-- end ngRepeat: item in ct.data.pageContentTypes --> 
 
    <div class="col-sm-3 col-xs-3 col-md-3 col-lg-3 ng-scope" ng-repeat="item in ct.data.pageContentTypes"> 
 
    <a class="thumbnail" documents-dropzone="" data-category-id="87" ng-click="getContentTypeDetailsByID(item)"> 
 
     <div ng-class="selectedContentTypeId == '87' ? 'thumbnail-cat thumbnail-cat-public' : 'thumbnail-cat thumbnail-cat-private'" class="thumbnail-cat thumbnail-cat-private"> 
 
     <span style="word-break:break-all;" class="ng-binding">test_tracker</span> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <!-- end ngRepeat: item in ct.data.pageContentTypes --> 
 
    <div class="col-sm-3 col-xs-3 col-md-3 col-lg-3 ng-scope" ng-repeat="item in ct.data.pageContentTypes"> 
 
    <a class="thumbnail" documents-dropzone="" data-category-id="26" ng-click="getContentTypeDetailsByID(item)"> 
 
     <div ng-class="selectedContentTypeId == '26' ? 'thumbnail-cat thumbnail-cat-public' : 'thumbnail-cat thumbnail-cat-private'" class="thumbnail-cat thumbnail-cat-private"> 
 
     <span style="word-break:break-all;" class="ng-binding">Tracker Test 0119</span> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <!-- end ngRepeat: item in ct.data.pageContentTypes --> 
 
</div>

+0

的可能的复制[如何验证量角器中的网格表值?](http://stackoverflow.com/questions/43108617/how-to-validate-the-grid-table-value-in-protractor) – wswebcreation

+0

不..这是不同的。它不是一个网格。 – kavitha

+0

不要误解我的意思,但是你第三次提出同样的问题,只能在不同的上下文中看到[this](http://stackoverflow.com/questions/43245836/verify-table-data-in -protractor)和[this](http://stackoverflow.com/questions/43108617/how-to-validate-the-grid-table-value-in-protractor)。 你有没有试过'filter()'选项?或者你有使用量角器命令的麻烦? – wswebcreation

回答

-2

尝试使用XPath为此,

VAR =轨道元件(by.xpath(//跨度[文本()= 'test_tracker']));

track.isPresent(),然后(函数(){

的console.log( “轨道是可见的”);

})。

+0

尽量避免'element(by.xpath(')'))。count() ... '))'因为你不需要你的'ElementFinder'中的html结构。尝试坚持像'ng-repeat'等默认值。其次,'isPresent()'没有说明它是可见的。它只是说该元素存在于DOM中,请参见[this](http://www.protractortest.org/#/api?view=ElementFinder.prototype.isPresent) – wswebcreation

+0

Angular 2不支持量角器定位器(ng-repeat )我猜 – Parthi

+0

你是对的,刚刚跟@kavatiha交谈,这是一个Angular 2应用程序。他也可以使用'$$('[ng-repeat =“ct.data.pageContentTypes中的项目]]')' – wswebcreation

0

最后,下面的代码被努力解决

element.all(by.repeater('role in roles.pageitems')).count().then(function (count) 
 
{    
 
console.log("Total number of entries are : " + count) 
 
element.all(by.repeater('role in roles.pageitems')).map(function(elm) { 
 

 
    return elm.getText(); 
 
}).then(function(texts) { 
 
    console.log("Entries are " + texts); 
 
    expect(texts).toContain("" + a + ""); 
 
}); 
 
});