模拟登录react的页面

作者: 钢铁油腻男 | 来源:发表于2019-08-06 18:59 被阅读5次

今天遇到, 要写性能测试的默认登录的脚本, 但是使用input.value='xxx', 始终无法正确的模拟用户的输入动作, 点登录按钮,input的内容重新被置空。经过同事指导, 发现解决办法如下, 留个爪印

let input = document.getElementById('username');
let lastValue = input.value;
input.value = '6d915519acf411e9b502fa528da74700';
let event = new Event('input', { bubbles: true });
// hack React16 内部定义了descriptor拦截value,此处重置状态
let tracker = input._valueTracker;
if (tracker) {
  tracker.setValue(lastValue);
}
input.dispatchEvent(event);

 input = document.getElementById('password');
 lastValue = input.value;
input.value = '3';
// hack React16 内部定义了descriptor拦截value,此处重置状态
let tracker1 = input._valueTracker;
if (tracker1) {
  tracker1.setValue(lastValue);
}
input.dispatchEvent(event);

document.getElementsByClassName('ant-btn login-form-button ant-btn-primary')[0].click()

原始资料:
https://github.com/facebook/react/issues/11488#issuecomment-347775628

相关文章

网友评论

    本文标题:模拟登录react的页面

    本文链接:https://www.haomeiwen.com/subject/idawdctx.html