首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >量角器列表过滤测试失败,计数为0而不是预期数

量角器列表过滤测试失败,计数为0而不是预期数
EN

Stack Overflow用户
提问于 2016-06-07 16:09:00
回答 1查看 358关注 0票数 1

量角器测试在4次测试中失败,从列表中计数0而不是预期的过滤值。但是,实际程序中的过滤器工作良好。

测试开始了。值在测试期间输入到搜索文本框中。考试有什么问题吗?怎么解决?

下面是一个测试:

代码语言:javascript
复制
'use strict';

// Angular E2E Testing Guide:
// https://docs.angularjs.org/guide/e2e-testing

describe('LLO 2016', function() {

  describe('edit-leerling', function() {

    beforeEach(function() {
      browser.get('index.html#/leerlingen');
    });

    it('should filter the leerlingen list as a user types into the search box', function() {
      var editLeerling = element.all(by.repeater('(id, leerling) in leerlingen'));
      var query = element(by.model('mentorQuery'));

      expect(editLeerling.count()).toBe(248);

      query.sendKeys('5H');
      expect(editLeerling.count()).toBe(163);

      query.clear();
      query.sendKeys('6V');
      expect(editLeerling.count()).toBe(85);

      query.clear();
      query.sendKeys('WIND');
      expect(editLeerling.count()).toBe(22);
    });

  });

});

下面是HTML:

代码语言:javascript
复制
<div class="panel-heading">
  <h3 class="panel-title">Leerlingenlijst</h3><br />
  Zoeken: <input ng-model="mentorQuery" />
</div>

<div class="panel-body">
  <div class="table-responsive">
    <table class="table table-hover">
      <tr>
        <th>Nr.</th>
        <th>Mentor</th>
        <th>Klas</th>
        <th>Leerling Naam</th>
        <th></th>
        <th></th>
      </tr>
      <tr ng-repeat="(id, leerling) in leerlingen | filter: mentorQuery">
        <form class="form-inline">
          <td><span>{{leerling.leerlingNummer}}</span></td>
          <td><span>{{leerling.leerlingMentor}}</span></td>
          <td><span>{{leerling.leerlingKlas}}</span></td>
          <td><input type="text" class="form-control" ng-model="leerling.leerlingNaam"></td>
          <td>
            <button type="button" class="btn btn-default" ng-click="update({id: id})">
              <span class="glyphicon glyphicon-edit"></span>
            </button>
          </td>
          <td>
            <button type="button" class="btn btn-default" ng-click="remove({id: id})">
              <span class="glyphicon glyphicon-trash"></span>
            </button>
          </td>
        </form>
      </tr>
    </table>
  </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 17:40:54

好的,我们已经在评论中指出,这是一个时间问题-搜索结果还没有加载时,你的期望。

browser.sleep()本身并不是一个可靠的解决方案(参见this为什么)。您需要一个browser.wait()和一个等待条件。至少我们可以检查是否存在至少一个搜索结果:

代码语言:javascript
复制
var EC = protractor.ExpectedConditions;
var elm = element(by.repeater('(id, leerling) in leerlingen'));

browser.wait(EC.presenceOf(elm), 5000);

var editLeerling = element.all(by.repeater('(id, leerling) in leerlingen'));
var query = element(by.model('mentorQuery'));

expect(editLeerling.count()).toBe(248);

// ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37684286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档