如何在量角器测试的文件对话框中上传文件,而不是使用 robotjs?

How to upload files in file dialog in protractor test, not using robotjs?

我正在使用此代码在对话框中浏览(上传)文件:

 var uploadPathLogo = "path to file";
 var uploadLogo = function() {

        browser.driver.sleep(3000).then(function() {
            robot.typeStringDelayed(uploadPathLogo, 23000);
            robot.keyTap("enter");
            browser.driver.sleep(3000);
        });

    },

问题是当我 运行 在本地测试时一切正常,但是当我 运行 在远程机器上测试时路径没有写入对话框。 是否有任何其他图书馆可用于此目的?

我找到了解决方案,它可以用于页面上的任何上传对话框:

    var uploadPathLogo = "path to file";    
    var uploadLogo = function(path) {
            browser.wait(EC.presenceOf(element(by.css('input[type="file"]'))), 30000, "Input type file element is not present in DOM").then(function() {
                $('input[type="file"]').sendKeys(uploadPathLogo);
            });
        };