首页 > 解决方案 > 量角器 - 使用模态上传文档

问题描述

我目前正在使用量角器来验证用户浏览 Web 应用程序的情况。要继续(在执行操作之前按钮被禁用),用户必须上传一个文档,然后启用按钮被按下,然后继续该过程。

在我的本地代码中,我有一个文件夹,其中包含需要上传才能继续的文档。但是,当我通过量角器与网络应用程序交互时,我很难将其上传。

因为它现在工作:

  1. 点击链接上传文档
  2. 模态显示与浏览按钮选择(模态图像
  3. 浏览按钮必须用于浏览文件 - 不能插入“文本框”
  4. 使用日历工具选择日期
  5. 提交按钮然后变为活动状态
  6. 单击提交,然后可以继续完成应用程序流程

我在这里尝试了解决方案: How to upload file in angularjs e2e protractor testing ,但问题是插入路径的“文本区域”返回“无效元素状态错误”-我不能简单地将路径插入框中正如上面的解决方案似乎暗示的那样。

底线是我需要在必须使用浏览按钮时上传此文档,但我不能使用量角器来操作用于浏览机器的本地对话框。

我的代码:

it('should upload the example doc', function() {
  var path = require('path');
  var fileToUpload = 'path/path/path/',
    absolutePath = path.resolve(__dirname, fileToUpload);
  page.findInput().sendKeys(absolutePath);
  browser.sleep(3000);
  expect(page.submitBtnClick());
});

想法?

标签: protractore2e-testingend-to-end

解决方案


在这里找到答案

功能代码如下:

uploadDoc() {
return browser.findElement(by.css('input[type=file]')).sendKeys('full/path/of/the file/with.extension');
}

推荐阅读