【问题标题】:Protractor Zip file uploading量角器 Zip 文件上传
【发布时间】:2017-03-15 01:06:40
【问题描述】:

我一直在编写量角器脚本来上传文件。

function upload(params) {
   return _waitForElm(params.xpath)
      .then(() => {
          var absPath = path.resolve(__dirname, '../../../assets/' + params.filePath.match(/[^\\\/]+$/)[0]);
          return $(params.xpath).sendKeys(absPath);
      }).catch(err => {
          console.error(jasmine.getEnv().currentSpec.description, 'Upload file', params.xpath);
          throw err;
      });
}

params.xpath 实际上是一个有效的 CSS 选择器(旧变量名)。

/**
* Wait for an element to be present and scroll to it if not displayed.
*
* @param xpath
* @returns {Promise<U>|IPromise<U>}
*/
function waitForElm(xpath) {
  return browser.wait(() => {
    return element.all(by.css(xpath)).then(items => {
        return items.length > 0;
    });
}, 10000)
    .then(() => {
        return $(xpath).isDisplayed().then(isDisplayed => {
            if (!isDisplayed) {
                return _scrollToElm(xpath);
            }
        });
    });
}

/**
* Scroll to the element in the page.
*
* @param xpath
* @returns {Promise<U>|IPromise<U>}
* @private
*/
function _scrollToElm(xpath) {
   let elm = $(xpath);
   return browser.executeScript('arguments[0].scrollIntoView();', elm.getWebElement());
}

上传功能适用于我的其他文件(jpg、png 和 PDF),但不会上传 zip 文件,失败时也不会抛出任何异常。输入文件也接受 zip 文件,因为我可以手动完成。

如果您遇到任何类似的问题,我将不胜感激。

【问题讨论】:

    标签: javascript selenium-webdriver protractor angularjs-e2e


    【解决方案1】:

    您的代码看起来正确,我刚刚检查了上传 ZIP 文件,部分重用了您的代码,看起来不错。

        var filePath = 'documents.zip';
        var absPath = path.resolve(__dirname, '../Resources/' + filePath.match(/[^\\\/]+$/)[0]);
        console.log(absPath); // C:\Users\<<user>>\Project\abc\Resources\documents.zip
        filespage.upload(absPath);
    

    【讨论】:

    • 哦,我可能会搜索一个没有的问题...谢谢更新。
    【解决方案2】:

    抱歉回复晚了,问题出在量角器上。我已将软件包更新到最新版本,并且可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2015-07-26
      • 1970-01-01
      • 2016-03-16
      • 2016-09-24
      相关资源
      最近更新 更多