作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试 AngularJS e2e tests并且我陷入了确定是否选中复选框的困境。
我对 checkbox input 使用了端到端测试作为示例(请参阅示例中的端到端测试选项卡)。
HTML 片段:
Value1: <input type="checkbox" ng-model="value1"> <br/>
Controller 片段:
function Ctrl($scope) {
$scope.value1 = true;
}
这是我尝试过的:
1) expect(binding('value1')).toEqual('true');
这在示例端到端测试中有效,只要 value1
屏幕上显示 {{value1}}
。如果您在本地测试并删除“{{value1}}”,则绑定(bind)测试将失败。在我的大多数实际示例中,我不会在屏幕上的任何位置显示复选框值。
2) expect(input('value1').val()).toEqual('true');
该值始终默认为 on
并且与复选框是否处于选中状态无关(取自 this post )。
注意: Angular E2E 测试似乎将被替换为 Protractor将来(参见the docs)
最佳答案
对于使用 Protractor 的任何人,有网络驱动程序isSelected()正是为了这个。
您可以执行以下操作,而不是请求 checked
属性:
expect(element(by.model('value1')).isSelected()).toBeTruthy();
关于angularjs - 如何在 AngularJS e2e 测试中验证复选框何时被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485217/
我是一名优秀的程序员,十分优秀!