自动化测试随笔一
前景提要
学习了下cypress,想要做自动化测试,但是实操过程中发现,很多dom是elementUI生成的没有办法直接写选择器获取,于是尝试基于鼠标点击位置和键盘输入的内容做自动化测试,以下为随笔。
监听整个文档的失去焦点事件
focusout会有事件冒泡,blur并不会;
document.addEventListener('focusout', (event) => {
console.log('event', event)
})
监听页面中dom元素变化
const mutation = new MutationObserver((mutationRecoards, observer) => {
console.log(mutationRecoards)
console.log(observer)
})
mutation.observe(window.document.documentElement, {
attributes: true,
characterData: true,
childList: true,
subtree: true,
attributeOldValue: true,
characterDataOldValue: true
});
监听页面中获得焦点的dom元素
window.document.addEventListener('focusin', function(e) {
console.log('eeeeeeeeeeee', e)
});
根据x,y值获取dom节点
let element = window.document.elementFromPoint(x, y);
通过dom.value给input赋值同步到vue数据中
let element = document.querySelector('input');
element.value = '123';
var event = new Event('input', {
bubbles: true,
cancelable: true
});
element.dispatchEvent(event);