当前位置: 首页 > 知识库问答 >
问题:

使用硒 IDE (不是硒 WD/RC) 上传文件

冯文彬
2023-03-14

我在stack上看到了一些与此主题相关的问题,像其他问题一样,回答似乎总是包括RC/WD解决方案。这是针对SELENIUM IDE的,而不是WD/RC实现。

我意识到我们只需要设置存储文件路径的元素的值,但是我看到了相互矛盾的方法。

我存储文件路径字符串的元素在检查器下如下所示:

输入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 个命令中的任何一个后,我在检查器中看到以下内容:

输入name=“StdConditionsFile”id=“pdfApp”value=“C:\full\path\of\file\filename.pdf”style=“on type=“file”

在运行命令之前是这样的

input name = " StdConditionsFile " id = " pdf app " style = " " type = " file "

但是当您查看DOM属性时,名为“value”的属性为“”或null。

有人真的在这方面取得了成功吗?

共有1个答案

拓拔玺
2023-03-14

我可以通过使用AutoIt做到这一点。我在AutoIt中创建了一个脚本,在Selenium IDE中启动测试/测试套件之前,必须先启动该脚本。AutoIt脚本将在寻找“文件上传”窗口时循环。具体步骤如下:

  1. 创建 AutoIt 脚本,该脚本循环并查找名为“文件上传”的窗口
  2. 已启动自动编辑器脚本
  3. 已启动硒 IDE 测试脚本
  4. 硒IDE脚本会做它的事情,点击网站页面上的“浏览”按钮并暂停。
  5. 循环的 AutoIt 脚本将看到在上一步中从 Selenium IDE 生成的“文件上载”窗口,并在对话框窗口中输入上载文件的路径(浏览 -

测试/故障排除:我在SeleniumWD和Selenium IDE中使用了完全相同的命令,其中我使用“Sendkeys”将文件路径输入到站点的上传控件中。Selenium IDE会说命令成功,但您从未看到过网站更新,并显示了WD的路径。因此,当您单击“上载”按钮时,不会上载任何文件。我在多台机器上尝试了这个,并使用了“类型”。这也不起作用,Selenium IDE中的命令显示为pass。我还使用setElementAttribute,它在IDE中传递,但不起作用。其他用户说这是可行的,但我还没有看到它和AutoIt确实有效。

 类似资料:
  • 我已经搜索了以前的帖子,但没有找到解决方案,所以我会尝试新的帖子。 我有一个简单的登录页面,在按下按钮后,它会把你送到一个新的窗口。我试图选择这个新窗口,然后断言它的标题,但是Selenium IDE找不到带有该标题的窗口。 下面是这个新窗口标题的HTML代码... 我的硒代码很简单。 我收到以下消息... 我使用了storeallwindownames/ids/title,Selenium甚至不

  • 问题内容: 我正在尝试使用以下代码:- 我没有得到结果。 问题答案: 您可以使用AutoIT或JAVA代码。下面我将两者都用作您的参考。尝试任何一个 AutoIt中的代码是 希望这给你一个主意

  • 我有一个问题,上传文件到网络系统使用硒驱动程序。所以在我的页面上,我没有任何输入来设置文件路径,而且我在网络上找到的大多数解决方案都不适合我。我必须点击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了winforms SendKeys类中使用的方法: 它的工作,但只有当测试有完全控制的机器(如果没有-路径已发送到某处不对话)。这就是问题所在,因为我无法完全控制运行测试的机器。你知道不使用S

  • 我对selenium相当陌生,我试图使用一些在教程中使用的脚本来练习。我下载了所有需要的。JAR文件(Chrome驱动程序、SeleniumJava和独立服务器),并将其添加到Eclipse中的路径。 执行此操作时,我遇到以下错误:

  • 单击标准容器(弹出窗口)后,它不会打开“创建容器”(弹出窗口)窗口。 手动地,所有功能都正常工作,但是SeleniumIDE抛出错误“找不到映像”

  • 情况是, 我记录了任务, 登录、编辑字段并使用其他名称保存(但原始字段保留)、注销。 在这里,我需要操纵“name”字段,这样我就可以获得100个或更多的副本,并且具有唯一的名称。 在硒IDE中可能吗?,如果没有,是否有任何开源工具可用于执行相同的操作? 如何在这段代码中使用while循环,我尝试过使用,但selenium ide无法识别它。你能帮我一下吗。。