作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
最近,我在使用最新的 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时存在错误。还有其他人遇到这个问题吗?
最佳答案
此问题可能与以下问题有关:Click event on label should be prevented if its child input element is disabled .请跟踪我们的进度并尝试我们的修复。
关于typescript - TestCafe 能够选择禁用的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57202277/
我是一名优秀的程序员,十分优秀!