如何在e2e量角器中读取ui中的动态值

时间:2014-10-09 19:05:59

标签: javascript angularjs testing dynamic protractor

我正在量角器中开发e2e测试。我正在运行测试Chrome浏览器。 在UI中有一个动态字段:

<div ng-show="searchResult.count" >
            <h4>Search Results: </h4>
            <p id="font-weight-500">{{searchResult.count}} Items</p>
            <hr>
      </div>

我需要取 searchResult.count

的值

我试过

element(by.binding('searchResult.count'));

$('[ng-show="searchResult.count"]')

我在html中做了一些更改,并在div中添加了ng-model ='shearchResult.count'

<div ng-show="searchResult.count"  ng-model="searchResult.count">
然后我打电话给

element(by.model("searchResult.count"));

所有这些结果都是一样的:

 <h4>Search Results: </h4>
 <p id="font-weight-500" class="ng-binding"> Items</p>
 <hr>

我也尝试使用$ scope

SearchPage.prototype.getSearchResultNumber=function($scope){
....        
    var value=$scope.searchResult.count;
....

但是我有“$ scope”是未定义的结果 虽然我可以在网络浏览器中看到数字,但我无法在量角器中读取或接受e2e规范。

如何获取此动态生成的数据? 任何人都可以帮我解决这个问题吗? 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用getAttribute()获取ng-model属性的值来解决此问题:

var div = element(by.model("searchResult.count"));
expect(div.getAttribute('ng-model')).toBe('10');  // 10 is an example