51Testing软件测试论坛

标题: 通过Web上传文件,这种操作能用自动化实现吗? [打印本页]

作者: applepen    时间: 2017-6-12 13:37
标题: 通过Web上传文件,这种操作能用自动化实现吗?
登陆待测Web页面 然后通过添加文件按钮。添加电脑本地的文件。
向上面这样的操作能否通过自动化实现?如果可以,该如何实现?

作者: Real_小T    时间: 2017-6-12 13:49
本帖最后由 Real_小T 于 2017-6-12 14:32 编辑

1.SendKeys库:可对电脑光标所在处进行输入
2.autoit工具:可对windows窗口进行操作
两种方法皆可,详情可百度。
作者: finomy    时间: 2017-6-12 14:08
同楼上,selenium+autoit
作者: 黑盒测试    时间: 2017-6-12 14:43
可以的
作者: applepen    时间: 2017-6-12 15:10
Real_小T 发表于 2017-6-12 13:49
1.SendKeys库:可对电脑光标所在处进行输入
2.autoit工具:可对windows窗口进行操作
两种方法皆可,详情 ...

学习了,十分感谢奥特曼的回复。
作者: applepen    时间: 2017-6-12 15:10
finomy 发表于 2017-6-12 14:08
同楼上,selenium+autoit

感谢回复。
作者: kbmickey    时间: 2017-6-12 15:32
同样是用AutoIT,我用着的源代码,仅供参考。
;first make sure the number of arguments passed into the scripts is more than 1
If $CmdLine[0]<2 Then Exit EndIf ;if parmas num <2 ,then break
;$CmdLine[0] ;参数的数量
;$CmdLine[1] ;第一个参数 (脚本名称后面)
;$CmdLine[2] ;第二个参数
;都是从cmd传入参数
handleUpload($CmdLine[1],$CmdLine[2])

;定义上传函数,有两个参数,第一个是浏览器名字,第二参数是文件路径
Func handleUpload($browser, $uploadfile)
     Dim $title                          ;定义一个title变量
            ;根据弹窗的title来判断是什么浏览器
            If $browser="ie" Then                          ; 代表IE浏览器
                  $title="选择要加载的文件"
            ElseIf $browser="chrome" Then               ; 代表谷歌浏览器
                 $title="打开"
            ElseIf    $browser="firefox" Then             ; 代表火狐浏览器
                  $title="File Upload"
            EndIf

            if WinWait($title,"",4) Then ;等待弹出出现,最大等待时间是4秒
                   WinActivate($title)                  ;找到弹出窗口之后,激活当前窗口
                   ControlSetText($title,"","Edit1",$uploadfile)   ;把文件路径放入输入框,此”Edit1“是用FinderTool获取到的
                   ControlClick($title,"","Button1")                ;点击保存或者打开或者上传按钮,此“Button1”使用FinderTool获取到的
            Else
            Return False
            EndIf
EndFunc

作者: kbmickey    时间: 2017-6-12 15:34
同样是用AutoIt,附件是我用着的代码,仅供参考。
;first make sure the number of arguments passed into the scripts is more than 1
If $CmdLine[0]<2 Then Exit EndIf ;if parmas num <2 ,then break
;$CmdLine[0] ;参数的数量
;$CmdLine[1] ;第一个参数 (脚本名称后面)
;$CmdLine[2] ;第二个参数
;都是从cmd传入参数
handleUpload($CmdLine[1],$CmdLine[2])

;定义上传函数,有两个参数,第一个是浏览器名字,第二参数是文件路径
Func handleUpload($browser, $uploadfile)
     Dim $title                          ;定义一个title变量
            ;根据弹窗的title来判断是什么浏览器
            If $browser="ie" Then                          ; 代表IE浏览器
                  $title="选择要加载的文件"
            ElseIf $browser="chrome" Then               ; 代表谷歌浏览器
                 $title="打开"
            ElseIf    $browser="firefox" Then             ; 代表火狐浏览器
                  $title="File Upload"
            EndIf

            if WinWait($title,"",4) Then ;等待弹出出现,最大等待时间是4秒
                   WinActivate($title)                  ;找到弹出窗口之后,激活当前窗口
                   ControlSetText($title,"","Edit1",$uploadfile)   ;把文件路径放入输入框,此”Edit1“是用FinderTool获取到的
                   ControlClick($title,"","Button1")                ;点击保存或者打开或者上传按钮,此“Button1”使用FinderTool获取到的
            Else
            Return False
            EndIf
EndFunc


作者: 岛屿soliloquy    时间: 2017-6-12 16:10
膜拜楼上,涨知识了
作者: andy1020    时间: 2018-4-26 17:29
Real_小T 发表于 2017-6-12 13:49
1.SendKeys库:可对电脑光标所在处进行输入
2.autoit工具:可对windows窗口进行操作
两种方法皆可,详情 ...

请问下,mac怎么实现文件的上传呢?
作者: andy1020    时间: 2018-4-26 17:30
kbmickey 发表于 2017-6-12 15:32
同样是用AutoIT,我用着的源代码,仅供参考。
;first make sure the number of arguments passed into the ...

mac 上怎么实现文件上传呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2