Glo*_*opy 30 angularjs angularjs-e2e
我一直在尝试AngularJS e2e测试,并且确定是否选中了复选框.
我用端到端测试复选框输入作为样品(见端到端测试中的标签实施例).
Html代码段:
Value1: <input type="checkbox" ng-model="value1"> <br/>
控制器片段:
function Ctrl($scope) {
$scope.value1 = true;
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
1) expect(binding('value1')).toEqual('true');
只要value1在屏幕上显示,这适用于样本端到端测试{{value1}}.如果在本地测试并删除`{{value1}},绑定测试将失败.在我的大多数现实世界的例子中,我没有在屏幕上的任何地方显示复选框值.
2) expect(input('value1').val()).toEqual('true');
该值将始终默认为on与复选框是否处于已检查状态无关(取自此帖子).
注意:看来Angular E2E测试将来会被Protractor取代(参见文档)
Leo*_*cci 55
对于任何使用Protractor的人来说,都有webdriver isSelected().
checked您可以执行以下操作,而不是要求属性:
expect(element(by.model('value1')).isSelected()).toBeTruthy();
Run Code Online (Sandbox Code Playgroud)
Tos*_*osh 16
我对这个问题表示赞同,因为我有同样的问题.我在测试中使用了以下解决方法,但我希望看到更好的方法.
expect( element('input[ng-model="value1"]').attr('checked') ).toBeTruthy();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30004 次 |
| 最近记录: |