51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 22766|回复: 23
打印 上一主题 下一主题

Selenium怎么实现文件上传的操作

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-14 17:34:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题!在Web页面中常会遇到文件上传的功能,比如附件。不值到Selenium是否可以实现这样的操作,请教大家了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-10 14:25:59 | 只看该作者
部分可实现,请问你是如何实现文件上传功能的, Javascript?Flash?
前者selenium较容易实现,后者selenium不是很支持。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-7-26 10:00:05 | 只看该作者
我的日志里面写了,呵呵

[ 本帖最后由 小米啊 于 2010-8-10 17:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-30 15:26:35 | 只看该作者
..楼上这个广告算是么。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-8-11 10:36:55 | 只看该作者
具体是怎么做的呢?很想知道,有哪位可以说具体点吗?

有位楼主说,您的日志里已经写了,但是点进去要先注册才能看,很不方便哦!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2012-7-18 14:53:32 | 只看该作者
回复 5# sataerman


    假如要有预览图呢?就不行了吧,求救中。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-8-29 11:12:44 | 只看该作者
使用后 Autoit
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2012-10-19 15:08:05 | 只看该作者
webElement adFileUpload=driver.findElement(By.id("wap-load“);
StringfilePath='c:\test.....";
adFileUpload.sendkeys(filePath)
我是用这个
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-11-13 16:15:57 | 只看该作者
回复 8# memojuly

你确定你成功了吗
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2012-11-28 18:41:36 | 只看该作者
回复 8# memojuly

这个在ff下面是可以的,在IE上面就要用autoit了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2013-1-1 22:35:41 | 只看该作者

Michael Kors.

Come aboard you comprehend it's true 2008,mcqueen scarf skull. hats,The origins of Friday superstitions are many which include Eve tempted Adam with the apple aboard a Friday. Lucky Alloys an of the companies of Lucky Group has a modern manufacturing plant which is one of the largest secondary aluminum alloy manufacturing facilities,alexander mcqueen scarf. We're gonna be appealing — I hope we'll be good-looking — but I don't want everyone to have these expectations as each season plus every someone is alter One thing I'm happy virtually is that we had accomplished a lot of our routine along Thursday.Pilot Season: Vanessa Williams moving to 666 Park Avenue"[She] pulled down the bloomers of my cotton baby-doll pajamas,alexander mcqueen skull.
   she was a designer that was considered the "fashion wonder of the world She was likewise the first ever to cater boutiques that offered customers non-fussy environments apt try out looks. ) remain very many among claim Such scarves get auctioned prefer anything plus fetch very high prices,alexander mcqueen skull. The alcohol content in the body disturbs the enzyme production process in the male reproductive system,alexander mcqueen clutch. The 1st thing that we have to do among a perceived dangerous situation namely apt study how control our alarm You can 1st take conscious control of your breathing apt do so,alexander mcqueen skull. its styles are magnetic and singular When it comes to your selections,I want elect up two brands of fashion sunglasses worn by Natalie Portman,alexander mcqueen clutch. He awaits trial,alexander mcqueen clutch. They deficiency apt be recognized among their circles for their fashion sense and thus keep up with the latest fashion trends. US diversity lottery,Ready apt Wear Compared with comedies or dramas,alexander mcqueen skull.
   Michael Kors,alexander mcqueen clutch.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2013-2-4 17:58:19 | 只看该作者
AutoIT 基本都是用这个
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2013-2-5 14:03:15 | 只看该作者
可以加我的sina微博 @pcxty, 上面有一篇文章关于selenium+autoit实现文件上传的功能。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2013-3-4 08:43:53 | 只看该作者
之前文件上传就是用AutoIT 实现的
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2013-5-24 14:00:04 | 只看该作者
好像得借助  autoit。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2014-3-6 11:17:12 | 只看该作者
如果是163 或者139邮箱的文件上传功能是符合实现的呢
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2014-3-6 11:17:37 | 只看该作者
老是识别不到上传 按钮
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2014-3-6 18:35:22 | 只看该作者
adFileUpload.sendkeys(filePath)
=》这个解决方案貌似对windows组件不起作用吧,有的组件可以成功,有的不能成功的
autoIT+webdriver
=>这个解决方案能举个实例吗?通过接口把autoIT脚本嵌进webdriver脚本实现还是通过其他方式实现呢?先感谢高手们了。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2014-3-10 15:46:08 | 只看该作者
如果是flash实现的上传,不用autoIT也可以

1. 用 driver.find_element... click() 先试验一下上传按钮(通常是object element)能不能点击,有选择文件的window跳出
2. 不能点击的话,试验一下能不能find_element到object的上层element,再点击object得到文件选择的window
3. 还是不能的话,试试看能不能用键盘操作比方Tab选定object,然后Enter得到跳出的文件选择window
4. 再得到跳出的window之后,根据你的coding 语言,import相关的可以操作win32的模块,然后使用这些模块的API选择文件,关闭window,回到测试页面
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2014-3-19 13:21:55 | 只看该作者
回复 19# maomao121


    你好,我使用模拟键盘操作,成功地弹出了windows窗口,下一步执行Autoit脚本,Java代码如下:
  1. java.lang.Runtime.getRuntime().exec("E:\\Test\\Audoit\\ImageSelect.exe");
复制代码
可是执行这行代码的时候,窗口就自动关闭了。Autoit脚本如下:
  1. Local $wh = WinActive("选择要上载的文件")
  2. If $wh==0 Then
  3.    MsgBox(64,"hello","NoWindorw!!!")
  4. Else
  5.    ControlSetText($wh,"","[CLASS:Edit; INSTANCE:1]","C:\120.jpg")
  6.    ControlClick($wh,"","[CLASS:Button; INSTANCE:2]")
  7. EndIf
复制代码
难道执行Autoit脚本之前会自动关闭已有窗口?
求解!非常感谢!

或者,你上面说的调用Win32 API来选择文件,能否再详细说明,找了好久,没有头绪,谢谢了!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 00:01 , Processed in 0.084534 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表