以无头模式为机器人框架上传文件
Posted
技术标签:
【中文标题】以无头模式为机器人框架上传文件【英文标题】:upload a file in headless mode for robot framework 【发布时间】:2021-07-03 03:25:21 【问题描述】:我正在机器人框架中编写一个自动化测试,我需要帮助来使用机器人框架库或 python、javascript 或 ajax 中的一些代码以无头模式为以下 html 代码上传文件。
<div class="mx-name-fileManager1 mx-fileinput mx-filemanager form-group no-columns" style="width: 95%; padding-left: 40px;">
<label class="control-label" for="110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133" id="110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133-label">Upload Document
</label>
<div class="mx-compound-control" data-focusindex="0">
<form class="sr-only" enctype="multipart/form-data" method="POST">
<input type="file" tabindex="-1" accept=".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.odt">
</form>
<input type="text" class="form-control" readonly="" aria-labelledby="110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133-label" value="...">
<button type="button" class="btn mx-button mx-fileinput-upload-button" id="110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133-upload" aria-labelledby="110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133-label 110.ServiceAsset.UploadDocument_SparePart.fileManager1.11_bch_133-upload">Browse...
</button>
</div>
</div>
【问题讨论】:
【参考方案1】:您必须使用Robot Framework Selenium library,打开浏览器并导航到您需要上传的页面。然后你可以用这个代码sn-p上传
Choose File xpath://input[@type="file"] $CURDIR/somefile.doc
【讨论】:
谢谢。我之前使用的是表单标签之外的输入标签,而不是内部标签。所以我认为“选择文件”关键字在这里不起作用。再次感谢 @T-2021 要识别文件上传输入标签,您应该检查类型属性。输入标签的内部有type=file
,外部的类型为文本以上是关于以无头模式为机器人框架上传文件的主要内容,如果未能解决你的问题,请参考以下文章