Selenium:文件上传后无法获取文件大小

Selenium:文件上传后无法获取文件大小,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我使用Selenium在文件上传页面上测试web应用程序的行为。 测试的目标是检查文件选择的应用程序验证 我在文件输入上使用webDriver.SendKeys C来模拟文件上载,成功选择了文件,但fileInput.files[0]。大小js始终为0还是未定义?应用程序显示错误,请不要上载空文件。手动测试时文件大小正确 关于如何解决这个问题,有什么建议吗 更新代码详细信息: HTML 断言总是失败,因为文件路径错误包含“不要上载空文件”,这就是问题所在。我被上的答案误导了 关于的讨论说,实际上

我使用Selenium在文件上传页面上测试web应用程序的行为。 测试的目标是检查文件选择的应用程序验证

我在文件输入上使用webDriver.SendKeys C来模拟文件上载,成功选择了文件,但fileInput.files[0]。大小js始终为0还是未定义?应用程序显示错误,请不要上载空文件。手动测试时文件大小正确

关于如何解决这个问题,有什么建议吗

更新代码详细信息:

HTML


断言总是失败,因为文件路径错误包含“不要上载空文件”,这就是问题所在。

我被上的答案误导了

关于的讨论说,实际上我们不能以编程方式上传文件


因此,期待这种测试有良好的表现是没有意义的。

Selenium本身无法处理文件上传。请向您的代码展示您是如何做到这一点的。@SiKing,我添加了代码示例。
<input id="file-path" type="file" data-bind="attr: { accept: mimeTypes }, event: { change: onFileSelect }" />
<small id="file-path-error" class="field-validation-error" data-bind="validationMessage: file"></small>
this.file = ko.observable().extend({
    validation: [
      {
        validator: function(file) {
          // valid if no file or file size < 5Mb
          return !file || file.size < 5242880;
        },
        message: 'File size should be less than 5Mb'
      }, {
        validator: function(file) {
          // valid if no file or file size > 0
          return !file || file.size > 0;
        },
        message: 'Do not upload empty files'
      }
    ]
  });
this.onFileSelect = function(model, event) {
    var fileInput;    
    fileInput = event.target;
    if ((fileInput.files != null) && fileInput.files.length > 0) {
      _this.file(fileInput.files[0]);          
    } else {
      _this.file(null);
    }
  };
webDriver.FindElement(By.Id("file-path")).SendKeys("C:\testFile.txt");
Assert.AreEqual(webDriver.FindElement(By.Id("file-path-error").Text,"");