【问题标题】:Protractor - upload file/ running exe via protractor量角器 - 通过量角器上传文件/运行 exe
【发布时间】:2016-03-23 15:33:41
【问题描述】:

我有一个用 Angular 编写的网站,我正在尝试进行端到端测试 使用量角器。该网站有一个“添加按钮”,可打开“选择文件对话框”。我希望能够从量角器添加文件,但它不会上传文件或关闭对话框。

我尝试创建一个.exe 文件,该文件通过 (autoIt) 控制对话框,它工作正常(当对话框弹出时,我运行 .exe 并且一切正常)。但是,我不明白如何告诉量角器在对话框出现后启动.exe

 var path = require('path');
 it('should upload a file', function() {
     var fileToUpload = '...\folder\xxx.txt',
     absolutePath = path.resolve(__dirname, fileToUpload);
     $('#uploadButton').click();
     $('input[type="file"]').sendKeys(absolutePath);
 });

var exec = require('child_process').execFile;
var fun = function() {
    console.log("fun() start");
    exec('c:\\Upload_Nonce.exe', function(err, data) {  
        console.log(err)
        console.log(data.toString());                       
    });  
}
fun(); 

【问题讨论】:

    标签: javascript angularjs testing protractor angularjs-e2e


    【解决方案1】:

    你不能用 Protractor 控制窗口对话框,因为它使用 webdriver。

    上面的代码不会在windows对话框中输入文件路径,而是将绝对文件路径直接发送到页面上的文件上传元素。

    如果您删除$('#uploadButton').click();,它应该可以工作,但是如果您正在测试的网站不允许这种类型的注入,您可能需要编写一个脚本来手动公开该元素。

    更多信息请参见How to upload file in angularjs e2e protractor testing

    【讨论】:

    • 嗨,我已经用 aoutoit 制作了一个 exe 文件,它专注于“选择文件窗口”并选择了一个我想要的文件并关闭了窗口(它工作得很好)。我只需要了解如何告诉网站(通过量角器)单击按钮并运行 exe 文件。我需要写什么,我需要通过量角器编写异步运行 exe 命令 - 真的需要帮助! !!
    猜你喜欢
    • 2019-06-17
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    相关资源
    最近更新 更多