最近,我在使用最新的Chrome版本和Testcafe 1.3.3时遇到了一个小问题。 在我拥有的一种测试脚本中,我试图查看是否可以选中一个复选框,该复选框已被禁用。当然,这不应该发生,但是仍然会发生。
在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时存在错误。 还有其他人遇到这个问题吗?
答案 0 :(得分:3)
此问题可能与以下问题有关:Click event on label should be prevented if its child input element is disabled。请跟踪我们的进度,然后尝试修复。