protractor - 量角器 - 使用模态上传文档
问题描述
我目前正在使用量角器来验证用户浏览 Web 应用程序的情况。要继续(在执行操作之前按钮被禁用),用户必须上传一个文档,然后启用按钮被按下,然后继续该过程。
在我的本地代码中,我有一个文件夹,其中包含需要上传才能继续的文档。但是,当我通过量角器与网络应用程序交互时,我很难将其上传。
因为它现在工作:
- 点击链接上传文档
- 模态显示与浏览按钮选择(模态图像)
- 浏览按钮必须用于浏览文件 - 不能插入“文本框”
- 使用日历工具选择日期
- 提交按钮然后变为活动状态
- 单击提交,然后可以继续完成应用程序流程
我在这里尝试了解决方案: 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());
});
想法?
解决方案
功能代码如下:
uploadDoc() {
return browser.findElement(by.css('input[type=file]')).sendKeys('full/path/of/the file/with.extension');
}