SDET Unicorns

WebdriverIO – Upload File Example

Table of Content

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.


You can also checkout the video below that will show you the detailed explanation of the code above.


To learn more about WebdriverIO, you can check out my free tutorial series here –

WebdriverIO – Tutorial Series for Beginners

My Resources

Thrive Suite: The all-in-one WordPress theme I used to create my blog.
Jasper AI: My favorite AI writing tool.
Surfer SEO:  A tool to help you rank your content on the first page of Google.

Write Content Faster

5/5

Write blog posts that rank for affiliate terms!

Join our mailing list

Unlock the Secrets to Becoming a SDET Pro in the Industry!

Stay ahead of the curve! Join our mailing list for exclusive insights, tips, and the latest industry updates delivered straight to your inbox

Table of Content

Related Post

Functional vs Regression Testing

Functional Testing vs Regression Testing: Main Differences

Testing has increasingly become a requirement in the software development lifecycle in recent years. The realization that development is no longer a focal point for stakeholders but saving costs by catching defects early in their application makes it necessary to learn different testing types.

Read More »