美文网首页
AutoIt入门教学--自动化测试上传文件应用

AutoIt入门教学--自动化测试上传文件应用

作者: smmtest | 来源:发表于2017-05-12 18:00 被阅读266次

Selenium对于上传文件这个操作有很多种办法
一种是最简单的sendkeys,参数加上文件路径就可以了
不过sendkeys貌似仅仅能应对input标签,所以当开发运用别的方法开发控件,那我们就需要用其他方法了
二种是模拟keyboard操作,一步步滴操作,不过这种我没有试过不做评价
三种使用插件直接对系统窗口做操作

这里推荐一种叫AutoIt的工具
附上官网:https://www.autoitscript.com/site/
通过官网可以直接下载


下载完毕后,在开始里显示有这么些个工具,各自都有用途,下面一一介绍

根据自己的操作系统选择相对应的版本
1.首先是Window Info这个东西



它就是有点像浏览器里的F12定位元素


通过这个按钮可以定位窗口
点击拖拽至目标窗口可以看到会把窗口的元素写进Window Info里
比如拖拽到文件上传窗口上

可以看到,Title叫做文件上传,还有class,instance都是等会需要用到的
简单的介绍完毕,至于其他的功能有兴趣的朋友们可以自己研究下

2.获取好元素信息后,就是编码了,打开SciTE Script Editor

SciTE Script Editor

内置的语言有点类似VBS 可以F1查看帮助文档
介绍一些常用的语句:

ControlFocus:将焦点设置在什么控件上



参数依次是Window的title,control的text和controlid
那我们可以把输入框的属性抓一下得到后,点到Control tab下查看该控件的属性,可以看到Text属性为空,ID为1148
例如:ControlFocus("文件上传","",1148)


WinWait:等待几秒,在此期间如果找到窗口和控件则进行下一步,如果没有找到,跑完等待时间进行下一步



参数依次是Window的title,control的text,等待的时间(秒)
例如:WinWait("文件上传","",5)

ControlSetText:对某控件输入内容



参数依次是Window的title,控件的text,控件id,和输入内容
例如: ControlSetText("文件上传","",1148,"fwweffwe")

ControlClick:控件点击



参数依次是Window的title,控件的text,控件id
例如:ControlClick("文件上传", "",1);

Sleep(500):线程等待500ms。

这些操作组合起来就可以完成上传文件了

; Wait 10 seconds for the Upload window to appear
  WinWait("文件上传","",5)

;ControlFocus("title","text",controlID) 
  ControlFocus("文件上传","",1148)


; Set the File name text on the Edit field

  ControlSetText("文件上传", "", 1148, @ScriptDir & "\1.png")

   Sleep(500)
; Click on the Open button

  ControlClick("文件上传", "",1);

点击F5可以执行代码
@ScriptDir是脚本的目录

3.需要把你的脚本让selenium调用到,怎么做呢
需要用到Complie Script to .exe
首先将你刚才的脚本保存到某个文件,保存下来的格式为au3为后缀的文件
然后需要用如下图,将其转换为exe文件供selenium调用


这个操作就不说了吧,一目了然吧不懂的可以留言!

最后在selenium中需要先点出窗口,然后执行exe文件可以操作完成
其实还是比较简单的,它的脚本不难!

相关文章

网友评论

      本文标题:AutoIt入门教学--自动化测试上传文件应用

      本文链接:https://www.haomeiwen.com/subject/usttxxtx.html