webdriverio / webdriverio

Next-gen browser and mobile automation test framework for Node.js
http://webdriver.io
MIT License
9.06k stars 2.51k forks source link

Simplify uploading files to SauceLabs to test uploads #3277

Closed christian-bromann closed 3 years ago

christian-bromann commented 5 years ago

Is your feature request related to a problem? Please describe.

There is a good amount of people that want to test uploading files to a server for testing purposes. Even though it is a bad idea since it is not really supported by the WebDriver protocol and only works in Chrome there is a cross browser way of doing it in Sauce. We should enhance the sauce service to simplify this.

Describe the solution you'd like

The user should be able to specify a path to a directory containing all files that should be available on the remote machine. The service would then upload the directory to the sauce storage and would set an prerun script that would extract the zip file and move it to the desired location.

Describe alternatives you've considered fileUpload would do something similar and it could work on a cross browser level in sauce too. That needs to be checked.

BorisOsipov commented 5 years ago

it is not really supported by the WebDriver protocol and only works in Chrome

btw modern selenium grid implementation supports it for all browsers. For example see notes in https://aerokube.com/selenoid/latest/#_file_upload

christian-bromann commented 3 years ago

@enriquegh @wswebcreation did anyone of you had an example that we might can embed into the @wdio/sauce-service?

wswebcreation commented 3 years ago

Hi @christian-bromann

There is no way to use the sauce-storage for this. You can only access the sauce-storage for pre-run executables, not during the test. This should become available with SauceCTL, but I'm not 100% sure when this is on the roadmap, we also need a WDIO SauceCTL solution

christian-bromann commented 3 years ago

Ok, will close this for now until we have a more reliable solution.

pmerwin commented 3 years ago

Hi @christian-bromann

There is no way to use the sauce-storage for this. You can only access the sauce-storage for pre-run executables, not during the test. This should become available with SauceCTL, but I'm not 100% sure when this is on the roadmap, we also need a WDIO SauceCTL solution

wdio sauceCtl would be awesome! Would rather not maintain two code bases, would be awesome to use the same wdio tests we already have, etc, rather than have to adapt another framework to use saucectl.