javascript - 如何计算 Protractor 中下拉选项的总数

标签 javascript angularjs testing protractor end-to-end

我正在尝试验证下拉选项的数量,但它不起作用。我使用了以下代码:

campaignManagementPage.statusDropDown().Count();
this.statusDropDown = function () {
    return element(by.model('campaign.lifeStage'));
}

下拉列表的 HTML 如下:

<select class="form-control ng-pristine ng-valid ng-touched" data-ng- model="campaign.lifeStage">
    <option value="design">Design</option>
    <option value="preview">Preview</option>
    <option value="live">Live</option>
    <option value="completed">Completed</option>
</select>`

最佳答案

在页面对象中定义一个单独的字段:

this.statusDropDownItems = function () {
    return element.all('select.form-control option');
}

或依赖模型并链接elementelement.all:

this.statusDropDownItems = function () {
    return element(by.model('campaign.lifeStage')).element.all('option');
}

然后,在您的测试规范中,您可以使用 expect 断言计数:

expect(page.statusDropDownItems.count()).toEqual(4);

page 是您的页面对象实例。

关于javascript - 如何计算 Protractor 中下拉选项的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719140/

相关文章:

javascript - jquery 插件回调重置默认选项

javascript - 在 AngularJS 中使用相对路径进行服务调用

charts - 如何将 Flot 与 AngularJS 集成?

testing - 修复我的 Phoenix.Channel 的 terminate/2 方法测试中的 “owner #PID<…> exited with: shutdown”

java - 仅在测试中执行 Java 代码

javascript - 如何从 html 可访问标记使用或创建非全局 JavaScript 变量缓存

javascript数组作为字符串列表(保留引号)

debugging - 使用 Firebug Lite 测试 IE6

javascript - vue和axios发出请求并显示结果

javascript - 使用 angular.js 在项目上切换事件类