Codeception - 用于设置为display:none的输入类型的attachFile

时间:2016-07-07 03:11:48

标签: selenium selenium-webdriver codeception

我尝试使用$I->attachFile命令上传文件,但在隐藏输入类型时它不起作用。有没有一种方法,而不是使用输入标签,我会使用按钮代替?按钮在上传后触发输入。

<div id="action_buttons" class="col-md-5">
    <button id="front-btn-computer-uploader" class="btn btn-block btn-primary upload-from-computer">
        <span class="glyphicon glyphicon-upload"></span>
        <span class="upload-comp"></span>
    </button>
    <div class="upload-widget-container display-none">
        <div class="upload-widget-wrapper">
            <div class="upload-widget-status"></div>
            <input class="upload-widget-file" type="file" name="file">
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

您可以尝试使用(根据doc

$I->fillField("//input[ * `type='text']",`  "Hello World!");
$I->fillField(['name' => 'email'], 'jon * `mail.com');` 

但是,不要发送文本“Hello world”,而是尝试将带有文件名的完整文件路径插入到输入中。这将触发表单上传文件。

示例:

$I->fillField("//input[@type='file']", "/home/user/document.txt");

第二个解决方案是使输入可见(如果你想使用attachFile方法),那么你就可以使用它了。

相关问题