文件上传
<h1>背景</h1>
<p>目前官方不支持文件上传,使用讨论issue中的workaround,安装file-upload依赖库</p>
<h1>安装</h1>
<pre><code class="language-shell">npm install --save-dev cypress-file-upload
</code></pre>
<h1>配置说明</h1>
<h2>typescript</h2>
<pre><code class="language-javascript">"compilerOptions": {
"types": ["cypress", "cypress-file-upload"]
}</code></pre>
<h2>JavaScript</h2>
<pre><code class="language-javascript">//import file-upload in cypress/support/commands.js
import 'cypress-file-upload';
//make sure this commands.js is imported in cypress/support/index.js
import './commands';</code></pre>
<h1>使用说明</h1>
<pre><code class="language-javascript">#typescript
cySubject.attachFile(fixture, optionalProcessingConfig);</code></pre>
<pre><code class="language-javascript">cy.get('[data-cy="file-input"]').attachFile('myfixture.json');</code></pre>
<pre><code class="language-javascript">#drag and drop
cy.get('[data-cy="dropzone"]')
.attachFile('myfixture.json', { subjectType: 'drag-n-drop' });</code></pre>
<pre><code class="language-javascript">#multi files
cy.get('[data-cy="file-input"]')
.attachFile(['myfixture1.json', 'myfixture2.json']);</code></pre>
<h1>Reference</h1>
<p>issue: <a href="https://github.com/cypress-io/cypress/issues/170">https://github.com/cypress-io/cypress/issues/170</a>
github: <a href="https://github.com/abramenal/cypress-file-upload">https://github.com/abramenal/cypress-file-upload</a></p>