手把手教你学robotframework自动化框架(第十章:支持
在进行web测试过程中,如果遇到选择本地上传文件的类似操作,该如何进行自动化呢?Selenium2Library里面提供的关键字主要是针对web浏览器中的元素进行操作,但是像本地上传这种win32的应用窗口,是不支持的。的
我们今天就介绍一下支持win32应用的AutoitLibrary。
10.1 安装Autoit
autoit下载地址:https://www.autoitscript.com/site/autoit/downloads/,版本最新是1.1
下载页面提供了下载安装文件和zip文件。

10.2 使用Autoit
进入安装目录,双击Au3Info.exe或者Au3Info_x64.exe文件,看字面意思后者应该是支持64位的


使用Autoit可以获取到win32应用程序各个控件的title、class等属性,给后续写自动化用例使用。
10.3 下载AutoitLibrary
autoitlibrary下载地址(官网):http://www.softpedia.com/get/Programming/Components-Libraries/AutoItLibrary.shtml
autoitlibrary下载后解压到某个文件夹,然后用管理员身份执行命令行。我是放在D:\Python38\AutoItLibrary-1.1这个路径下。
【关于autoitlibrary安装后无法使用的问题,可以见 手把手教你学robotframework自动化框架(出坑秘籍,问题汇总) 这篇文章里面的问题9和问题10,有详细的说明,此处不再介绍】
这里关于AutoitLibrary的安装和使用还是需要再强调几点:
1、一定要用管理员身份安装;
2、如果不能使用、或者卸载重装,都要进行注册和反注册;
3、如果是python3,一定要修改autoitlibray里面文件的源码,因为python2和python3的语法有很多不同。不用精通python,百度+对比修改即可。
10.4 使用AutoitLibrary
在ride中引用包,下面的例子是在suite级别引用,这样用例里面都可以使用该包里面的关键字。
在资源文件里面引用也是可以的,这样suite引用资源文件即可。

按下F5,看下可用的关键字(本人写到这里的时候,发现AutoItLibrary里面的关键字又莫名其妙少了很多,于是按照 出坑秘籍,问题汇总篇幅里面的内容又重新安装、注册、反注册,又好了,实在不知道原因)

我们用一个如下的上传文件功能作为例子

点击上传文件后,我们希望选择到一个我们提前准备好的文件。那么我们只需要把文件名这个地方写入文件的路径即可,然后点击打开。
具体步骤实现如下图。

我们看下control set text的语法

strTitle就是我们上面用Autoit工具获取控件的title,strControl就是control-》classnameNN。strControlText就是我们想设置的值。
strText可以先不管。我们有了上面3个数据,就可以对控件元素进行设置值了。


然后第二行的control click就不用介绍了吧。点击打开按钮。
10.5 热键使用
用AutoItLibrary,我们还可以向计算机发送键盘的指令。使用到的是send指令。
具体可以参考此文:https://www.cnblogs.com/tinghai8/p/5839050.html 。
今天到这里把!