JS:自动上传文件到表单

JS : Upload automatically a file to a form

本文关键字:表单 文件 自动上传 JS      更新时间:2023-09-26

我正在编写一个机器人,它对使用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);
            });
       });
    });