利用Selenium Webdriver 2.0 实现通过Web上传文件

在Web自动化测试实践中,常常会遇到需要通过Web (基本都是依靠form元素) 上传文件到后台的功能。这个功能的特点在于,不仅需要浏览器、document对象的参与,还需要借助于Windows的模式窗口。说到这里,作为我这样的初学者,就会犯难了,怎样才能操作Windows的这个弹出模式窗口呢? Selenium Webdriver有对应的API可以实现我的愿望吗?于是,我会想当然的去遍历Selenium Webdriver的API文档。结果可想而知,高手们要笑了。


如果了解HTML Form表单对象的工作原理,上面的这个问题就很容易有思路。所以做Web自动化测试,不懂web,将会事倍功半。


Form表单里面的文件选择控件<input type="file">,实际也是个可输入的元素,跟<input type="text">元素不同点,从直观上讲,前者没有输入框,后者有。给人的感觉是只有后者才能传递文本或字符,前者不能。so, 只看表面,就掉坑里去了。


要解决本文开始的那个问题,其实跟<input type="text">类似,就是直接把文件地址付给<input type="file">元素,然后submit。


以Selenium Webdriver + python 为例:
Select the <input type="file"> element and call the send_keys() method passing the file path, either the path relative to the test script, or an absolute path. Keep in mind the differences in path names between Windows and Unix systems.
--摘自http://selenium-python.readthedocs.org/faq.html (No. 8.5)


要注意的是,文件路径问题,在windows下,路径一定要这样:c:\\test\\upload\\file,而不能这样写:c:/test/upload/file。


试试看撒!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值