需要在用WebDriver实现在页面点击某个按钮,然后上传文件到页面上,最开始的输入是点击页面上的“上传”按钮,这样就可以打开“File Upload”输入框
Actions action = new Actions(driver);
//IE下双击,FF下单击..
action.doubleClick(driver.findElements(By.xpath("//input[@type='file']")).get(0));
action.perform();
然后将文件的路径存到剪贴板上:
public void setClipboardData(String string) {
StringSelection stringSelection = new StringSelection(string);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
}
最后利用键盘事件Ctrl + V,粘贴文件路径,再按回车关掉File Upload输入框,网上找到如下的代码:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
但是这个方法在我的测试中不起作用,CTRL+V和回车的操作没有做。
最后Google发现对于文件上传,直接使用sendKeys就可以搞定了
driver.findElement(By.xpath("//input[@type='file']"))).sendKeys("C:\\testContent.pdf");
一步到位。。。。
分享到:
相关推荐
- **弹出框与对话框**:包括基本的身份认证对话框、自签名证书处理以及文件上传/下载等操作。 2. **API的简化**:Selenium2.0采用了更为简洁的API设计,主要通过`WebDriver`和`WebElement`两个核心对象来实现自动...
从环境搭建到实际操作,内容覆盖了Selenium的基础知识、元素定位、等待时间的处理、浏览器操作、键盘和鼠标事件处理、多层框架/窗口定位、上传文件操作、下拉框处理、JavaScript调用、滚动条控制以及WebDriver原理...
此外,复杂的用户操作模拟、文件上传、文件下载、超时设置也是自动化测试中不可或缺的一部分,本书通过各编程语言篇幅详细介绍了这些知识点。 “Wait”是自动化测试中的一个重要概念,指的是如何让测试脚本在执行...
本书的结构包括了多个章节,例如环境搭建、第一个脚本编写、元素定位、添加等待时间、打印信息、浏览器操作、键盘事件处理、鼠标事件处理、定位一组元素、多层框架/窗口定位、层级定位、上传文件操作、下拉框处理...
12. 文件上传和下拉框操作:包括如何操作文件上传按钮和处理下拉框选择。 13. 处理alert和confirm:介绍了如何应对Web应用中常见的弹出框(警告框和确认框)。 本书不仅提供了知识和技能的讲解,也涉及了实际问题...
除了基本的元素操作,Selenium Webdriver还支持框架级的测试,例如模拟键盘事件、处理弹出框、文件上传、处理cookies等。对于复杂的测试场景,可以利用Selenium Grid进行分布式测试,将测试用例并行运行在多台机器上...
此外,还涉及到上传文件操作、下拉框处理、alert弹窗处理等测试操作的实例。 在进行自动化测试时,有时需要处理多层框架或窗口的情况,本书也对这一情况进行了讲解,包括多层框架定位、多层窗口定位和层级定位的...
然而,Webdriver 的功能远不止这些,深入学习可以解锁更多高级特性,如处理 AJAX 负载、模拟鼠标和键盘事件、处理文件上传等。在实际项目中,结合持续集成工具,Webdriver 可以极大地提高工作效率和测试覆盖率。乙醇...
文档首先介绍了 Selenium 的基本概念,强调了其为一个免费且轻量级的自动化测试工具,相较于其他测试工具,如 QTP,Selenium 更易于学习和使用,尤其对多种编程语言的支持,使之成为自动化测试初学者的首选工具。...
2. **非`<input type="file">`的文件上传** 对于那些不使用标准`<input type="file">`的上传控件,Selenium无法直接操作。这些控件可能是`<a>`标签、`<div>`、`<button>`或`<object>`等。在这种情况下,我们需要...
文件上传和下载功能的自动化测试也得到了覆盖,这对于处理涉及文件交互的场景很有帮助。超时设置允许自定义等待时间,防止因网络延迟导致的测试中断。Remote WebDriver章节则讲解了如何在远程服务器上运行测试,扩展...
在 Web 自动化测试中,文件上传是一项常见的操作。使用 Selenium 可以轻松实现文件上传。下面是一个基本的文件上传代码实现: ``` from selenium import webdriver from webdriver_manager.chrome import ...
处理文件上传通常需要使用`send_keys`方法模拟键盘输入: ```python input_field = driver.find_element_by_id('uploadInput') input_field.send_keys('/path/to/your/file') ``` **处理弹窗**: 对于弹出窗口,如...
本主题聚焦于使用"robot模拟人"在Windows环境下实现文件的自动化下载与上传,这涉及到一系列的技术点,包括但不限于Windows API调用、事件模拟、网络请求以及文件操作。 首先,"robot模拟人"通常指的是自动化测试...
在Python的Selenium自动化测试中,文件上传是一个常见的任务,但有时可能会遇到一些挑战,特别是当上传控件不是标准的`<input type="file">`元素时。本文将详细介绍如何使用Selenium处理这两种类型的文件上传。 1. ...
除了基本的网页导航和元素操作,Selenium WebDriver还支持更复杂的测试场景,如处理弹窗、文件上传、模拟鼠标和键盘事件、执行JavaScript等。此外,可以结合其他的测试框架,如JUnit、pytest等,进行更完善的测试...
文件上传是Web应用测试中的常见操作,Selenium可以模拟这一操作并验证功能是否正确。此外,下拉框处理也是自动化测试中不可忽视的部分,Selenium提供了选择下拉框项的方法。 Selenium WebDriver与Python的结合为Web...
Selenium 测试环境搭建单元测试、生成测试报告、定位元素、WebDriver属性和方法、WebElement属性和方法、操作form表单、操作下拉列表、处理等待、远程测试、Selenium Grid、鼠标事件、键盘事件、调用js、屏幕截图、...