- file-upload/
- File upload 使用Selenium IDE上传文件(非Selenium WD/RC)
File upload 使用Selenium IDE上传文件(非Selenium WD/RC)
File upload 使用Selenium IDE上传文件(非Selenium WD/RC),file-upload,automated-tests,selenium-ide,File Upload,Automated Tests,Selenium Ide,我在stack上看到了一些与本主题相关的问题,与其他问题一样,回答似乎总是包括RC/WD解决方案。这是针对SELENIUM IDE的,而不是WD/RC实现
我意识到我们只需要设置存储文件路径的元素的值,但我发现这样做的方式相互冲突
存储文件路径字符串的My元素在inspector下如下所示:
input type=“file”name=“StdConditionsFile”id=“pdfApp”
如果我得到元素的Xpath,它如下所示:
/*[@id=“pdfApp”]
我正在使用以下代码分配f
我在stack上看到了一些与本主题相关的问题,与其他问题一样,回答似乎总是包括RC/WD解决方案。这是针对SELENIUM IDE的,而不是WD/RC实现
我意识到我们只需要设置存储文件路径的元素的值,但我发现这样做的方式相互冲突
存储文件路径字符串的My元素在inspector下如下所示:
input type=“file”name=“StdConditionsFile”id=“pdfApp”
如果我得到元素的Xpath,它如下所示:
/*[@id=“pdfApp”]
我正在使用以下代码分配file.path:
- 命令:类型
- 目标:id=idOfFileInput
- 值:/full/path/to/uploadfile
但是我没有运气。我尝试使用元素的名称、xpath和id,但从未分配file.path
更新:
我发现了一些进展,但如果我真的能做到这一点,可能会产生误导。我没有使用“type”作为命令,而是寻找另一个替代命令,找到了“setElementAttribute”。如果我将该命令与upload.element的Id、name或XPath一起使用,我可以看到我实际上正在设置该值,但是这有一个陷阱
在运行这3个命令中的任何一个之后,我在inspector中看到:
input name=“StdConditionsFile”id=“pdfApp”value=“C:\full\path\of\file\filename.pdf”style=”“type=“file”
在运行命令之前是这样的
input name=“StdConditionsFile”id=“pdfApp”style=”“type=“file”
但是当您查看DOM属性时,名为“value”的属性是“”或null
有人真的在这方面取得了成功吗?我使用AutoIt就可以做到这一点。我在AutoIt中创建了一个脚本,在SeleniumIDE中启动测试/测试套件之前必须先启动该脚本。AutoIt脚本将在查找“文件上载”窗口时循环。具体步骤如下:
创建循环并查找名为“文件上载”窗口的AutoIt脚本
启动了AutoIt脚本
启动Selenium IDE测试脚本
Selenium IDE脚本将完成它的工作,单击网站页面上的“浏览”按钮并暂停
循环AutoIt脚本将看到在上一步中从Selenium IDE生成的“文件上载”窗口,并在对话框窗口(浏览->文件上载)中输入上载文件的路径
然后单击“确定”并关闭上载窗口
Selenium IDE脚本将在暂停后出现,并单击网站上的“上载”按钮
文件已上载!-检查李>
测试/故障排除:
我在Selenium WD和Selenium IDE中使用了完全相同的命令,其中我使用“Sendkeys”在文件路径中输入站点上的上载控件。Selenium IDE会说命令成功了,但您从未看到网站更新,也没有像WD那样显示路径。因此,当您单击“上载”按钮时,不会上载任何文件。我在多台机器上尝试了这个方法,并使用了“Type”。这也不起作用,SeleniumIDE中的命令显示为pass。我还使用setElementAttribute,它在IDE中传递,但不起作用。其他用户说这很管用,但我还没有看到它,AutoIt肯定管用。我可以使用AutoIt来实现这一点。我在AutoIt中创建了一个脚本,在SeleniumIDE中启动测试/测试套件之前必须先启动该脚本。AutoIt脚本将在查找“文件上载”窗口时循环。具体步骤如下:
创建循环并查找名为“文件上载”窗口的AutoIt脚本
启动了AutoIt脚本
启动Selenium IDE测试脚本
Selenium IDE脚本将完成它的工作,单击网站页面上的“浏览”按钮并暂停
循环AutoIt脚本将看到在上一步中从Selenium IDE生成的“文件上载”窗口,并在对话框窗口(浏览->文件上载)中输入上载文件的路径
然后单击“确定”并关闭上载窗口
Selenium IDE脚本将在暂停后出现,并单击网站上的“上载”按钮
文件已上载!-检查李>
测试/故障排除:
我在Selenium WD和Selenium IDE中使用了完全相同的命令,其中我使用“Sendkeys”在文件路径中输入站点上的上载控件。Selenium IDE会说命令成功了,但您从未看到网站更新,也没有像WD那样显示路径。因此,当您单击“上载”按钮时,不会上载任何文件。我在多台机器上尝试了这个方法,并使用了“Type”。这也不起作用,SeleniumIDE中的命令显示为pass。我还使用setElementAttribute,它在IDE中传递,但不起作用。其他用户说这很管用,但我还没有看到它,AutoIt肯定管用