问题描述
我有一个想要测试的 library,它是一个简单的颜色选择器。
我想测试 DOM 回调(库的事件在内部处理)是否被触发。 并且想知道测试它的正确方法是什么。
- Playwright 是否有权访问页面上的
cPicker
对象? - 它是否有权访问
window
对象? - 我是否应该从 HTML 文件本身触发事件,并在回调中,在 DOM 中打印结果,在一些虚拟元素中,然后从该虚拟元素文本推断回调已触发?
我不确定这种情况下的可能性范围 -
如果有人知道,请提供帮助,谢谢。
/tests/visual/basic.html
<meta charset="utf-8">
<script src="/dist/color-picker.min.js"></script>
<link rel="stylesheet" href="/dist/styles.css">
<script type="module">
const cPicker = new ColorPicker({
onClickOutside(e){
},onInput(color){
},onChange(color){
}
})
document.body.appendChild(cPicker.DOM.scope)
</script>
玩笑测试(使用 PlayWright)
it('Should call all callbacks with correct arguments',async() => {
await page.goto(`http://localhost:5000/tests/visual/basic.html`,{waitUntil:'load'})
// Wait until the next frame
await page.evaluate(() => new Promise(requestAnimationFrame))
// TODO: Wtite the test which infers onInput/onChange/onClickOutside callbacks fired
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)