Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

ReactJS dropzone проблема с аплоадом файла (Java+JS)

reactjs
java
webdriver
javascript
Теги: #<Tag:0x00007fedb7ceb948> #<Tag:0x00007fedb7ceb808> #<Tag:0x00007fedb7ceb650> #<Tag:0x00007fedb7ceb380>

#1

Пытаюсь реализовать заливку файлов на сайт c реакт дропзоной http://reactdropzone.azurewebsites.net/example/
Уже реализовал работу с другой дропзоной http://www.dropzonejs.com/, код:

public class Drpzn {
    JavascriptExecutor executor;

    public Drpzn() {
        Configuration.browser = "chrome";
        this.executor = (JavascriptExecutor) WebDriverRunner.getWebDriver();
    }
    private By dropzone = By.cssSelector("#demo-upload");

    @Test
    public void drzon() throws IOException, InterruptedException {
        open("http://www.dropzonejs.com");
        $(dropzone).hover();
        String script = "var myZone, blob, base64Image; myZone = Dropzone.forElement('form#demo-upload');" +
                "base64Image = 'iVBORw0KGgoAAAANSUhEUgAAAO0AAABQCAYAAAD1GfIkAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAEGSURBVHhe7dPBCcAwAAMxp/vv3ObRJQ4kMJ7gzrb3Doh4/gciRAsxooUY0UKMaCFGtBAjWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWkjZPk/PAZ8fwt/rAAAAAElFTkSuQmCC';" +
                "function base64toBlob(r,e,n){e=e||\"\",n=n||512;for(var t=atob(r),a=[],o=0;o<t.length;o+=n){for(var l=t.slice(o,o+n),h=new Array(l.length),b=0;b<l.length;b++)h[b]=l.charCodeAt(b);var v=new Uint8Array(h);a.push(v)}var c=new Blob(a,{type:e});return c}" +
                "blob = base64toBlob(base64Image, 'image / png');" +
                "blob.name = 'file.png';" +
                "myZone.addFile(blob);";

        executor.executeScript(script);
        Thread.sleep(3000);//смотрим результат
    }
}

Однако при исполнении этого кода для дропзоны реакта получаю месседж: unknown error: Dropzone is not defined
Быть может кто-то уже пытался заливать файлы на реакте, или есть догадки как модифицировать скрипт?
Импортировать проект можно отсюда https://github.com/SaneQ/Drpzn


#2

На третий день ковыряние увидел в DOMе input, как оказалось input создается в корне body reactom и как раз таки он отвечает за заливку файлов. Т.е. заливается простым sendKeys(“путь к картинке”).
Надеюсь кому-то то это сбережет кучу времени.