当前位置: 首页 > 面试题库 >

如何使用Selenium或WebDriver在测试自动化中处理文件上传

蒲寂离
2023-03-14
问题内容

我认为,每个将Webdriver用于测试自动化的人都必须意识到其在Web开发中的巨大优势。

但是,如果文件上传是您的webflow的一部分,则会出现一个巨大的问题。它不再是测试自动化。浏览器的安全限制(调用文件选择)实际上使自动化测试成为不可能。

Afaik唯一的选择是让webdriver单击文件上传按钮,使线程hibernate,让开发人员/测试人员手动选择文件,然后执行其余的网络流程。

如何处理,有没有解决的办法?因为它真的不能像这样完成。这是没有道理的。

这是我所知的唯一不适用浏览器安全性限制的情况:

<script language=javascript>   
  function window.onload(){   
          document.all.attachment.focus();   
          var WshShell=new ActiveXObject("WScript.Shell")   
          WshShell.sendKeys("D:\MyFile.doc")
  }   
</script>

问题答案:

Webdriver可以在IE和Firefox中轻松解决此问题。这是找到元素并键入内容的简单案例。

driver = webdriver.Firefox()
element = driver.find_element_by_id("fileUpload")
element.send_keys("myfile.txt")

上面的示例在Python中,但您了解了



 类似资料:
  • 问题内容: 在Stack Overflow上使用Selenium WebDriver上传文件时,我已经看到很多问题和解决方案。但是它们都不适合以下情况。 有人给出了以下解决方案 但是我仍然找不到窗口句柄。我该如何处理? 我正在寻找上述方案的解决方案。 请在以下任何网站上进行检查。 问题答案: 如果使用Zamzar网站,它应该可以正常运行。你无需单击该元素。你只需在其中输入路径。具体来说,这绝对可以

  • 问题内容: 谁能让我知道如何使用Java代码使用Selenium上传文件? 当我单击应用程序中的按钮时,它将在新窗口中打开,可以用来选择上传文件。Silverlight(C#)开发的浏览按钮。 问题答案: 首先确保输入元素可见 正如Mark Collin在此处的讨论中所述: 不要单击浏览按钮,它会触发操作系统级别的对话框并有效地停止测试。 相反,你可以使用: myUploadElement是该元素

  • 谁能让我知道如何通过Java代码使用Selenium上传文件? 当我点击应用程序中的按钮时,它会在新窗口中打开,我可以用它来选择上传文件。Silverlight(C#)开发的浏览按钮。

  • 问题内容: 我有一个文本框,当我输入一个字母说“ s”时,它会显示结果列表(例如google搜索)。 我正在使用带有Java的最新Selenium Webdriver。 我努力了 即使在每个步骤之后都添加了等待,这些都不起作用。 有什么建议? 谢谢。 更新:- 更新2:- 更新3:-我尝试使用Selenium 1,fireevent方法通过将参数作为’keydown’传递而起作用。目前,这应该是一

  • 在Ubuntu机器上,我尝试自动上传文件,但在使用selenium的Chrome无法做到这一点。我尝试了Robot类和普通发送键方法。 请参考我的代码: StringSelection=new StringSelection(“/home/manojnn/Desktop/OrderDetails.xlsx”);工具箱。getDefaultToolkit()。getSystemClipboard()

  • 我正在火狐上测试。当我单击F12时,我可以在控制台中看到Google Analytics在每个元素单击事件上都用消息触发。 我怎样才能完成这个任务?我已经在谷歌上搜索了它,但找不到好的答案。如果有人能帮助我一些参考或示例代码,我将非常感谢。