jlen文件上传验证时出现Selenium错误

时间:2013-08-28 19:25:56

标签: jquery file-upload selenium jquery-validate

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

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

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

感谢您的帮助!

我的Selenium测试代码:

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()

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

enter image description here

我的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来源吗?它们应该是一样的吗?

0 个答案:

没有答案