2

アップロードファイルのテスト(absolutePath)はうまく動作しますが、ファイル選択ダイアログを閉じることはできません。angularjs e2e分度器テストでファイルをアップロード

これは私のコードです:

var path = require('path'); 
it('Upload file', function() { 
    var button = element(by.css('button')).click(); 
    expect(button.isEnabled()).toBe(true); 
    var test= ['../file/1.pdf','../file/2.pdf','../file/3.pdf']; 
    for (var i=0;i<test.length;i++) 
    { 
    var absolutePath = path.resolve(__dirname, test[i]); 
    element(by.css('input[type="file"]')).sendKeys(absolutePath); 
    element(by.buttonText("Submit")).click(); 
    } 
    element.all(by.css('span[ng-show="upload.complete"]')).each(function(complete){ 
    var text = complete.getText(); 
    expect(text).toEqual("Upload Complete"); 
}); 

は、事前にありがとうございます!

答えて

2

Windowsダイアログボックスは、webdriverを使用しているので、引き出しで制御することはできません。

上記のコードは、ファイルパスをWindowsダイアログボックスに入力するのではなく、絶対ファイルパスをページ上のファイルアップロード要素に直接送信しています。したがって、ファイルをアップロードするためにウィンドウのダイアログボックスをまったく開く必要はありません。

Windowsダイアログとのやりとりに興味がある場合は、https://github.com/octalmage/robotjs

などのようないくつかのパッケージがあります。
関連する問題