css - Protractor 图像没有在对话框中上传?

标签 css angular selenium jasmine protractor

我想使用 Protractor 测试图像上传功能,但我编写的脚本不起作用。 This is the image dialogue box.当我们单击对话框图像时,它会打开窗口以选择所需的图像。选择图像后,框的行为如下 image .我想写一个脚本,通过它我可以上传一张图片,然后点击“保存”按钮。 This is the css of dialogue box. 下面给出的是我试过但不起作用的脚本。遇到的错误信息是this .

   var path = require('path');
   var fileToUpload = '../new image.jpeg';
    var absolutePath = path.resolve('__dirname', fileToUpload);
    console.log(absolutePath);
 var fileElem=element(by.css('label[for="cropper-file-input"]'));
 browser.wait(EC.presenceOf(fileElem), 2000,);
 fileElem.sendKeys(absolutePath);

最佳答案

试试下面的方法。希望对您有所帮助。

 fileUpload(element: ElementFinder, fileElem: ElementFinder, filePath: string): promise.Promise<void> {
        //We are using the setFileDetector method to let WebDriver know that we are uploading files from a local directory to a remote server.
        //Having this configuration resolves the "Failed: invalid argument: File not found" error that occurs otherwise.
        browser.driver.setFileDetector(new utils.remote.FileDetector);

        return browser.executeScript(`arguments[0].style.visibility = 'visible'; arguments[0].style.height = '1px'; arguments[0].style.width = '1px';  arguments[0].style.opacity = 1`, element)
            .then(() => fileElem.sendKeys(filePath));
    }

关于css - Protractor 图像没有在对话框中上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52289091/

相关文章:

jquery - 如何只更新点击元素的样式

javascript - 如何制作列数未知且每列大小相等的网格布局?

jquery - 如何在 JSP 页面上使用 If/else 语句隐藏 Div?

Angular2在ngfor中使用elvis运算符

javascript - 'string' 类型的参数不可分配给 'AbstractControl' 类型的参数。 Angular react 形式

java - Selenium , java 。需要通过 Xpath 选择表内的祖先元素

来自网站的 Python 抓取表?

css - 推特 Bootstrap css 中的中心行元素

javascript - 如何从 Angular 应用程序范围之外更改 Angular 中的路由?

java - 使用 Selenium(2.46 及更高版本)以编程方式下载文件