JS:自动上传文件到表单
JS : Upload automatically a file to a form
我正在编写一个机器人,它对使用AngularJS开发的应用程序的UI进行一些测试。要做到这一点,我使用PhantomJS但是,我被阻止了…实际上,为了验证表单,我必须上传一个.csv文件,但目前还不能。我不知道如何解决这个问题。
我发现了这个:page.uploadFile('input[name=image]', '/path/to/some/photo.jpg');
但是,还有其他问题…我使用Mocha进行测试,我的测试被注入到应用程序的代码中。所以,我不知道如何获得页面对象。
我的建筑的简单平面图:
<标题> launcher.js h1> test_1.js h1> 标题>不能用javascript(1,2)填充文件输入
你到底在测试什么?如果要测试服务器部分,可以使用XMLHttpRequest和FormData将Blob对象作为文件上传。如果您正在编写端到端测试,您可以尝试webdriverio。如果你做UI测试,你将不得不模拟它的网络部分,可能通过编译单独的javascript文件进行测试。
我不确定我是否遵循了"我的测试被注入到应用程序的代码中"。您的意思是说测试与您的应用程序在同一个项目中吗?如果是这样,那么这是一个非常常见的设置。您需要让服务器运行,然后针对正在运行的服务器运行测试
var webpage = require('webpage')
describe("test suite", function() {
it("test upload", function(done) {
console.log('Loading a web page');
var page = webpage.create();
var url = 'http://your.server';
page.open(url, function (status) {
//Page is loaded!
page.uploadFile('input[name=image]', '/path/to/some/photo.jpg');
phantom.exit(done);
});
});
});
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- 在不同的文件中使用Javascript获取表单数据
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 用PHP发送html表单和文件附件
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- Firefox,如何提交表单触发文件下载,但停留在网页上
- 使用node-js上传文件,并将表单信息存储在数据库(mysql)中
- html5拖放文件-在提交整个表单时上传
- 表单文件中已上载mp3的标题
- 如何在模式窗口中从html表单文件类型打开图像
- 尝试将 Dropbox 文件上传 API 链接到基本的 HTML 表单文件输入
- PHP 表单 - 文件上传不起作用
- 在 IE11 中未正确重置表单文件输入
- HTML 表单文件中的行号与文本区域中的行号之间的对应关系
- 如何在开机自检前操作表单文件输入
- 在AngularJS中为表单文件上传添加简单的验证
- 使用jQuery检测表单文件中的更改
- 隐藏表单文件POST在javascript
- 使用PHP检查页面加载时是否存在表单文件
- 使用HTML5技术操作和上传表单文件数据