当前位置: 首页 > 面试题库 >

如何在AngularJS e2e测试中选中复选框时进行验证?

申黎明
2023-03-14
问题内容

我一直在尝试AngularJS
e2e测试,
并且在确定是否选中复选框时陷入困境。

我用端为端测试复选框输入作为样品(见
端对端测试 中的标签 实施例 )。

HTML片段:

Value1: <input type="checkbox" ng-model="value1"> <br/>

控制器html" target="_blank">代码段:

function Ctrl($scope) {
  $scope.value1 = true;
}

这是我尝试过的:

1) expect(binding('value1')).toEqual('true');

只要value1在屏幕上显示,它就可以在样品首尾测试中起作用{{value1}}。如果您在本地测试并删除`{{value1}},则绑定测试将失败。在我的大多数实际示例中,我并未在屏幕上的任何位置显示复选框值。

2) expect(input('value1').val()).toEqual('true');

该值将始终默认为,on并且与复选框是否处于选中状态无关。

注意: 看来Angular
E2E测试将来会被Protractor取代(请参阅docs)


问题答案:

由于存在相同的问题,我对此问题表示赞同。我在测试中使用了以下解决方法,但希望能找到更好的方法。

expect( element('input[ng-model="value1"]').attr('checked') ).toBeTruthy();


 类似资料:
  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 问题内容: 我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,或浏览器。但是,当我使用(或任何其他实现)重新打开浏览器时,测试站点不记得任何内容,因为在关闭浏览器时所有cookie都会被删除,而在重新打开浏览器时将无法访问。 问题答案: 对于Chrome(配置): 您必须将路径设置为user-dir,这将在您首次登录后保存所有登录信息。下次再次登录时,将从用户目

  • 我希望在选中表中的所有复选框时选中标题复选框,如果没有选中单个复选框,则应取消选中标题复选框。

  • 我是javascript新手,我有一个问题暂时无法解决……我需要对表进行动态排序。(借用)代码为: 它适用于文本/数字值,但问题是表中的一列由复选框组成。这个想法是按照带有选中复选框的行在顶部的方式对表格进行排序(/底部,取决于升序/降序方向)。 我试图检查< code > x . innerhtml . checked = = true ,但是< code>x.innerHTML.checked

  • 我正在尝试一个Woocommerce票证插件。默认情况下,该插件会显示一个表,其中包含多个票证变体作为产品,并在下面显示一个文本字段作为其数量和一个提交按钮,以将产品添加到购物车中。 我想用单选按钮或复选框替换这个文本字段,这样用户就可以选择一种类型的票证,然后点击提交按钮将其中的一部分添加到购物车中。 我的想法是在foreach循环中创建一个复选框或单选按钮,该复选框或单选按钮的值为quanti

  • 我使用量角器在角应用端到端测试。我试图点击选择框中的选项,但我有以下错误元素目前不可见,可能无法操纵。 我有这部分html: 在量角器测试中我有一行代码: 我想点击值为“草稿”的选项。你知道可能是什么问题吗?