我正在创建一个测试套件,以自动化我的Web应用程序中的某些数据输入部分。我有一个页面,我可以单击按钮将文档上传到应用程序。它看起来像这样:
单击“添加新附件”按钮后,将打开浏览器的文件资源管理器以选择要上载的文档。我试图在Selenium IDE中复制它。
以下是截至目前的情况:
然而,这部分似乎失败了。有谁知道如何使用Selenium IDE实现类似的过程?我在Chrome和Firefox上。
答案 0 :(得分:1)
我在使用Chrome和Firefox。
Automating file uploads 仅 Chrome 扩展程序api,非Firefox 支持。因此它不适用于IDE版本的Firefox。他们在这里说:https://github.com/SeleniumHQ/selenium-ide/issues/120
看起来你做的一切都很正确,但如果没有要测试的网页网址,很难说更多。
它适用于Kantu Selenium IDE吗?因为Kantu和原始selenium使用相同的扩展API,所以它们在两者中应该以相同的方式工作。如果没有,那就是一个bug。
要记录文件上传,请像往常一样使用文件选择对话框选择文件。 Kantu记录了它。请注意,出于安全原因,Chrome仅返回文件名,而不返回扩展名的文件路径。因此,文件路径始终记录为“c:\ fakepath”。所以在录制之后,你需要编辑宏并用实际路径替换c:\ fakepath。
答案 1 :(得分:1)
可能使用Selenium IDE上传文件。可以按照以下说明进行操作。
|Command|Target|Value|
|type|target_location_path|location_of_the_file_in_your_system|
示例:
|type|id=ConsignmentCustomerInvoiceFilename|C:\Users\abc\Desktop\img1.jpg|
您可以通过手动上传文件,然后在网络应用中找到上传文件的xpath来标识“ target_location_path”。
请参考下面的屏幕截图以获得更好的理解。
您可以使用以下代码将系统路径添加到IDE测试中。
<tr>
<td>storeEval</td>
<td>Preferences.getString(TestSuite.TEST_SUITE_DIRECTORY_PREF);</td>
<td>testSuiteFolder</td>
</tr>
<tr>
<td>type</td>
<td>id=QuestionUpload_file</td>
<td>${testSuiteFolder}/resources/question_upload.csv</td>
</tr>
答案 2 :(得分:1)
如果得到
{“代码”:-32000,“消息”:“不允许”}
在Chrome上,请按照以下步骤操作:
窗口>更多工具>扩展> Selenium IDE>详细信息
然后打开“允许访问文件URL”选项。
我遇到了同样的问题,这对我有用。