如何使用javascript检查量角器中的复选框是否已选中

时间:2019-02-20 19:30:46

标签: javascript protractor

我正在尝试编写一个端到端量角器测试,并且我一直在检查是否启用了该复选框,因为该复选框没有被选中的属性。 在javascript中,我们可以通过获取元素的方式从列表中进行检查,并检查是否已选中,如果已选中,则获取文本。

这就是我要使用的HTML:

<li>

<div _ngcontent-c8="" class="ng-tns-c8-2" >

<input _ngcontent-c8="" class="ng-tns-c8-2" type="checkbox" id="Team TableAccepted">

<label _ngcontent-c8="" class="ng-tns-c8-2" for="Team TableAccepted">Accepted</label></div>

</li>

2 个答案:

答案 0 :(得分:2)

isSelected()应该在这里起作用:

给出以下输入:<input type="checkbox" id="team" />

要检查是否已选中,我们将编写以下内容:

const checkbox = element(by.id('team'));

expect(checkbox.isSelected()).toBe(true);

如果您不想使用量角器并且希望使用vanilla js,这是另一种选择:

const isChecked = document.getElementById('team').checked;

此外,HTML4和HTML5都不允许在id属性值中使用空格字符。对于您的输入:<input _ngcontent-c8="" class="ng-tns-c8-2" type="checkbox" id="Team TableAccepted">id="Team TableAccepted是无效的HTML。对于id属性,将该值限制为一个描述符。

希望这会有所帮助!

答案 1 :(得分:0)

您可以通过两种方式检查是否选中了该复选框

  1. 通过命令isSelected()
  2. 通过属性aria-checked = true / false(适用于垫子组件)