需要在用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");
一步到位。。。。
分享到:
相关推荐
webdriver 兼容新测试 源码
WebDriver 自动化测试 selenide ,selenide是用于提高基于WebDriver的自动化测试便利性的Java类库。示例测试:@Tes...
pythonwebdriver自动化测试实战.doc
python webdriver 自动化测试实战.doc
博客“ruby+selenium-webdriver测试-测试用例源代码”
webdriver 数据驱动 webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动webdriver 数据驱动
Watir-WebDriver是基于ruby开发web驱动框架 double_click 双击事件 ie .sikuli_image(:image=>"1.png").double_click right_click 右击事件 exist? 判断用户元素是否存在 edit = ie.text_field(:name,"username") ...
pythonwebdriver自动化测试实战.pdf
博客“ruby+selenium-webdriver测试--多个测试用例”源代码
Webdriver自动化测试ChromeDriver应用,用于python selenium库
该框架基于页面对象模型(POM)架构,实现了关键字驱动技术,数据驱动,无需掌握多少编程知识即可编写脚本,同时实现了数据与代码分离的功能:1、元素定位信息保存在对象库文件中 2、测试用例数据可以存储在excel中。...
自动化测试:Selenium webdriver学习笔记C#版
Webdriver+TestNG测试用例执行顺序
博客“ruby+selenium-webdriver测试--第一个例子源代码”
python webdriver 自动化测试实战.docx