并行多次上传同一个文件

时间:2016-01-04 13:07:49

标签: java selenium selenium-webdriver webdriver

我的测试网站html部分如下:

<button id="btnUpload" type="button" class="btn fileinput-button fileinputs">
    <span class="icon wc-upload"></span>
    <span>Upload</span>
    <input type="file" name="file" multiple=""></button>

现在上传文件,我使用以下代码:

driver.findElement(By.cssSelector("#btnUpload")).sendKeys(AppConstant.RESOURCE_DIR+fileName);

但它并行多次上传同一个文件。但如果我手动执行此操作,则所选文件仅上传一次。

这里的解决办法是什么?

2 个答案:

答案 0 :(得分:1)

尝试使用与sendkeys()对应的WebElement上的<input type="file">作为:

driver.findElement(By.xpath("//input[@type='file']")).sendKeys(AppConstant.RESOURCE_DIR+fileName);

-OR -

WebElement inputFileControl = driver.findElement(By.xpath("//input[@type='file']"))
inputFileControl.sendKeys(AppConstant.RESOURCE_DIR+fileName);

答案 1 :(得分:0)

试试这个: -

driver.findElement(By.cssSelector("#btnUpload")).sendKeys(Keys.chord(Keys.CLEAR));

在上传文件代码后放置此代码

希望它能帮到你