TestCafe能够选择禁用的复选框

时间:2019-07-25 12:43:53

标签: typescript automation testcafe

最近,我在使用最新的Chrome版本和Testcafe 1.3.3时遇到了一个小问题。 在我拥有的一种测试脚本中,我试图查看是否可以选中一个复选框,该复选框已被禁用。当然,这不应该发生,但是仍然会发生。

重新创建测试页面的前端是: enter image description here

在Testcafe中执行的测试脚本为:

...
checkboxDisabledInput = Selector('#input-2');
...

fixture
...
test('Expect disabled checkbox is visible and cannot be selected/checked;', async () => {
await t
    .expect(checkboxDisabledInput.checked).eql(false)
    .click(checkboxDisabledInput)
    .expect(checkboxDisabledInput.checked).eql(false);

当我在Chrome 75.0.3770.142(正式版本)(64位)上执行此测试时,即使已禁用的字段不允许进行这种交互,也会选中此复选框。 有趣的是,作为用户,我以手动方式无法在任何情况下都选中该复选框。

 AssertionError: expected true to deeply equal false
  Browser: Chrome 75.0.3770 / Windows 10.0.0
     38 |test('Expect disabled checkbox is visible and cannot be selected/checked;', async () => {
     39 |    await t
     40 |        .expect(checkboxField.checkboxDisabledInput.visible).eql(true)
     41 |        .expect(checkboxField.checkboxDisabledInput.checked).eql(false)
     42 |        .click(checkboxField.checkboxDisabledInput)
   > 43 |        .expect(checkboxField.checkboxDisabledInput.checked).eql(false);

如果我在完全相同的情况下执行上述测试,但是在Firefox浏览器上,我将无法重现已禁用复选框的选择。

因此,我的推测是在使用上述版本的Chrome和TestCafe时存在错误。 还有其他人遇到这个问题吗?

1 个答案:

答案 0 :(得分:3)

此问题可能与以下问题有关:Click event on label should be prevented if its child input element is disabled。请跟踪我们的进度,然后尝试修复。