51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

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

[复制链接]

该用户从未签到

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

使用道具 举报

该用户从未签到

24#
发表于 2014-8-2 07:50:08 | 只看该作者
回复  maomao121


    你好,我使用模拟键盘操作,成功地弹出了windows窗口,下一步执行Autoit脚本,J ...
maosilu 发表于 2014-3-19 13:21



    是 java脚本吗
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2014-8-1 12:20:52 | 只看该作者
如果是flash实现的上传,不用autoIT也可以

1. 用 driver.find_element... click() 先试验一下上传按钮(通 ...
maomao121 发表于 2014-3-10 15:46



我用了你说的各种方法,那个文件选择弹出框就是不弹出来,请问,可能是什么原因呢
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2014-3-27 16:30:35 | 只看该作者
回复 21# maomao121


    非常感谢。我得再深入学习。
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2014-3-20 14:08:05 | 只看该作者
回复 20# maosilu

我没用autoit,是直接用win32api做的,原理就是操作windows的窗口. 我用的不是Java,不过道理应该是一样的.网上search了一段话,大致就是这个意思

2. 外部程序创建的window,比如QQ,MSN 窗体等,Java一般很难操作,因为这些window和JVM无任何关系, 如果非要操作,则通过JNI调用JAWT API(JDK_HOME/include/jawt.h) 以及windows user32 API来完成调用,比如:

HWND qqWindow = FindWindow("QQ2010",NULL);
PostMessage(qqWindow,WM_CLOSE,NULL,NULL);
以上代码可以被java通过JNI调用,而函数内部又通过windows API post了一个消息给这个qqwindow,结果就是QQ 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来选择文件,能否再详细说明,找了好久,没有头绪,谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

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,回到测试页面
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

12#
发表于 2013-2-4 17:58:19 | 只看该作者
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.
回复 支持 反对

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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


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

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 01:43 , Processed in 0.079604 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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