1

自動テストとしてファイルをアップロードしたいのですが、次のコードを使用してファイルを正しく選択し、アップロード ボタンをクリックしますが、アップロード ボタンをクリックしても何も起こりません。ページで JavaScript がトリガーされていないと思います。

var fileUpload = './testFile.txt',
absolutePath = path.resolve('./testFile.txt', fileUpload);
$('input[type="file"]').sendKeys(absolutePath);

element(by.model('documentFile'));

element(by.css('button[ng-click="uploadSelectedFiles()"]')).click();

これには別の方法がありますか?

編集:私はこれを行うことができました。私を助けてくれた人に感謝します。ここに私のコードがあります:

var fileUpload = './testFile.jpg',
            absolutePath = path.resolve('/home/xxx/workspace/xxx/xxx/xxx/xxxxx/test/x/x/x/x/filesToUpload', fileUpload);

        var uploadInput = $('input[type="file"]');
        uploadInput.sendKeys(absolutePath);
        uploadInput.submit();
        element(by.css('button[ng-click="uploadSelectedFiles()"]')).click();
4

2 に答える 2

2

「アップロード」ボタンをクリックする代わりに、入力にキーを送信してパスを設定し、Submitボタンをクリックしてフォームを送信します。

var uploadInput = $('input[type="file"]');

uploadInput.sendKeys(absolutePath);

var submitButton = element(by.xpath("//input[.='Submit']"));
submitButton.click();
于 2015-04-07T14:31:51.780 に答える