【问题标题】:How to test the upload of .csv file in protractor如何在量角器中测试 .csv 文件的上传
【发布时间】:2018-05-28 12:07:38
【问题描述】:

我正在尝试在量角器中测试 csv 文件的上传。为此,我有以下代码:

    const absolutePath = path.resolve(__dirname, 'csvFile.csv');

    const fileInput = element(by.css('input[type=file]'));

    browser.wait(until.presenceOf(fileInput), 5000, 'File input not found');

    fileInput.sendKeys(absolutePath);

    browser.wait(until.presenceOf(mockPage.uploadBtn));
    mockPage.uploadBtn.click();

但它总是抛出 jasmine 超时。找到了我的输入字段,所以这不是问题。而且absolutePath的值是对的!

./home/user/project/src/test/javascript/e2e/entities/csvFile.csv

我的html输入代码是:

<input  id="input-file" type="file" (change)="setFileData($event,'file', false)"  />

我尝试过的:

  • 将路径作为“./csvFile.csv”传递
  • 尝试上传 .png 文件以查看扩展名是否存在问题。
  • 按 id 搜索我的输入以查看在查找输入时是否出错。

对于所有这些情况,同样的事情发生了,jasmine 将路径写入输入时超时。

有人知道可能是什么问题吗?提前致谢!

【问题讨论】:

    标签: angular testing protractor frontend jhipster


    【解决方案1】:

    我找到了解决办法,sendKeys()方法发送的每一个key都会调用change事件,造成很多麻烦。

    我通过将它添加到 setFileData() 函数来解决它:

    if (event.target.files[0].name.endsWith('csv')) {
            // Do the magick
        }
    

    所以它一直等到文件名写完。

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 2017-01-02
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 2016-07-28
      • 1970-01-01
      相关资源
      最近更新 更多