如何定位[(ngModel)]进行量角器测试

时间:2016-04-02 20:28:57

标签: javascript angular protractor e2e-testing

<span class="selector-label">Team: </span>
<select class="selector-component" [(ngModel)]="selectedTeamId">
  <option *ngFor="#team of teams" [value]="team.id">{{team.name}}</option>
</select>

我正在尝试为selectedTeamId添加量角器测试,这是第一个按字母顺序排序的测试,如果一个用户分配给多个团队。我想我应该使用[(ngModel)] =“selectedTeamId”,但不知道该怎么做。谢谢。 我知道如何获得所有团队,但我需要获得第一个在selectedTeamId方法中实现的逻辑。

1 个答案:

答案 0 :(得分:0)

我们的想法是找到select元素(例如前面的标签),evaluate teamssort it alphabetically name,第一个团队并检查这是否与selectedTeamId模型值相同:

var select = element(by.xpath("//span[starts-with(., 'Team')]/following-sibling::select"));

select.evaluate("teams").then(function(teams) {
    teams.sort(function(a, b) {
         return a["name"].localeCompare(b["name"])
    });
    var firstTeam = teams[0];

    expect(select.evaluate("selectedTeamId")).toEqual(firstTeam);
});