1

我正在尝试使用 Selenium(在 Django / Python 上)创建功能测试,但我的 javascript 文件验证出现错误。我的网站基本上将一个 csv 文件作为输入,然后呈现一堆图形以不同方式可视化 csv 数据。我正在使用jQuery Validation 插件通过 1) 扩展名是 .csv,以及 2) mime-type 是 text/* 来检查它是否是一个 csv 文件。

当我上传一个 .csv 文件时,这可以手动验证,但是当我尝试在 Selenium 中上传相同的文件时,我得到一个 mime 类型错误。有没有办法“设置”文件输入的 mime 类型,或者我什至应该这样做?我是否遗漏了有关在 Selenium 中上传文件的内容?我知道我不应该单击文件按钮并使用 send_keys() 发送完整路径。

我没有在 SO 或 Google 上找到任何类似的问题。几乎每个 Selenium mime 类型的问题都涉及在测试期间下载文件,而不是上传文件。

谢谢你的帮助!

我的硒测试代码:

file_input = self.browser.find_element_by_id('grade_file')
file_input.send_keys('/<FULLPATH>/grades_deid.csv')

grade_form = self.browser.find_element_by_tag_name('form')
grade_form.submit()

我在测试期间遇到的错误:

在此处输入图像描述

我的 jQuery 验证代码:

$(document).ready(function() {
    'use strict';

    // Validate the file input so only csv files allowed
    $('#grade_form').validate({
        rules: {
            grade_file: {
                required: true,
                extension: "csv",
                accept: "text/*"
            }
        }
    });
});

更新:所以在玩了一些之后,我认为这是由于 Chromedriver(不是真正的 Chrome)如何处理文件 mimetypes ......我的 csv 文件适用于 Firefox Selenium webdriver。Chromedriver 和 Chrome 是否使用不同的 mimetype 源?它们应该相同吗?

4

0 回答 0