During browser automation, you might run into a scenario where you need to upload a test file, this is really easy to do with WebdriverIO. Let’s take a look at an example below.
I’m using this test url for this example which is stored in the wdio.conf.js
file.
const path = require('path'); describe('Upload File', () => { it('should be able to upload a file', () => { // find selectors const input = $('#file-upload'); const submitBtn = $('#file-submit'); // store test file path const filePath = path.join(__dirname, '../data/chrome.png'); // use browser.uploadFile to upload the test file const remoteFilePath = browser.uploadFile(filePath); // access the test page browser.url('/upload'); // set file path value in the input field input.setValue(remoteFilePath); submitBtn.click(); // click the submit button // Add your assertion here }); });
? This code is also available on GitHub for you to access and play around with.