使用Cypress方法选择文件时,处理DOM中没有输入元素的情况
P粉697408921
P粉697408921 2023-09-05 22:32:49
0
1
462
<p>当点击上传按钮时,使用下面的方法打开文件浏览器。据我所知,除非你显式地将它附加到DOM元素上,否则不会向DOM添加任何元素。</p> <pre class="brush:js;toolbar:false;">const inputEl = document.createElement("input"); inputEl.type = "file"; inputEl.multiple = true; inputEl.click(); inputEl.onchange = (e) => { ... } </pre> <p>在Cypress中是否可以使用这种方法选择文件?<code>selectFile</code>需要<code>input</code>元素在DOM中,并且链接在其后。否则,我将不得不使用隐藏的input元素。</p>
P粉697408921
P粉697408921

全部回复(1)
P粉832490510

已解决。在Cypress中无法做到。我使用了一个环境变量"DEVELOPMENT=1"来将输入元素附加到DOM中,但仅在测试期间。

const inputEl = document.createElement("input");
if (process.env.DEVELOPMENT) {
    document.getElementById("root").appendChild(inputEl);
}
inputEl.type = "file";
inputEl.multiple = true;
inputEl.click();
inputEl.onchange = (e) => { ... }

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板