使用Protractor上传多个图像

时间:2017-07-05 09:50:12

标签: javascript image selenium-webdriver protractor

我的测试套件中有一个场景,我需要

  1. 点击按钮。
  2. 从指定目录上传图片。
  3. 等待15秒
  4. 对指定目录中的所有图像重复步骤1-3。
  5. 如何实现这一目标 - 逐个上传指定文件夹中的图像数组或一组图像。该测试还包括检查之前是否应该上传图像。 我可以使用下面的代码上传单个文件 -

    var fileUpload = 'path_to_file';
    absolutePath = path.resolve(__dirname,fileUpload);
    console.log(absolutePath);
    this.file_Upload2.sendKeys(absolutePath);
    browser.actions().sendKeys(protractor.Key.ENTER).perform();
    browser.sleep(20000);
    

    请注意,只有一个按钮用于上传图像,并且保持不变。

1 个答案:

答案 0 :(得分:0)

如果将fileUpload变量更改为指向保存文件的目录,而不是文件本身,则可以循环遍历目录中的所有内容。像这样:

var fileUpload = 'path_to_directory';
var file_Upload2 = this.file_Upload2;
var absolutePath = path.resolve(__dirname, fileUpload);
fs.readdir(absolutePath, (err, files) => {
    for (i = 0; i < files.length; i++) {
        var fullPath = path.resolve(absolutePath, files[i]);
        file_Upload2.clear().sendKeys(fullPath);
        browser.actions().sendKeys(protractor.Key.ENTER).perform();
        browser.sleep(20000);
    }
});